MCP Hub
Back to servers

n8n MCP Server

The most complete MCP server for n8n — 43 tools for workflows, data tables, and more.

Registry
Updated
Mar 8, 2026

Quick Install

npx -y @nextoolsolutions/mcp-n8n

mcp-n8n

The most complete MCP server for n8n

43 tools · Workflows · Data Tables · Tags · Credentials · Users · Webhooks · Audit

npm License: MIT Node.js TypeScript MCP SDK

Quick Start · All 43 Tools · Configuration · Contributing


Why mcp-n8n?

Other n8n MCPs cover workflows and executions. mcp-n8n covers everything — including Data Tables, the only MCP to do so.

Featuremcp-n8nleonardsellemilluminareczlonkowski
Workflows (CRUD + execute)10784
Executions3532
Data Tables8
Tags + Workflow Tags75
Credentials43
Users34
Variables33
Projects (Enterprise)44
Security Audit11
Webhooks111
Health Check11
Total43123320

Data Tables — full CRUD with filters, search, upsert and dry-run. No other MCP has this.


🚀 Quick Start

Claude Code
claude mcp add --scope user \
  -e N8N_BASE_URL=http://localhost:5678 \
  -e N8N_API_KEY=your-api-key \
  -- n8n npx -y @nextoolsolutions/mcp-n8n
Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": ["-y", "mcp-n8n"],
      "env": {
        "N8N_BASE_URL": "http://localhost:5678",
        "N8N_API_KEY": "your-api-key"
      }
    }
  }
}
Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": ["-y", "mcp-n8n"],
      "env": {
        "N8N_BASE_URL": "http://localhost:5678",
        "N8N_API_KEY": "your-api-key"
      }
    }
  }
}

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
Windsurf

Add to your Windsurf MCP config:

{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": ["-y", "mcp-n8n"],
      "env": {
        "N8N_BASE_URL": "http://localhost:5678",
        "N8N_API_KEY": "your-api-key"
      }
    }
  }
}
VS Code (Copilot)

Add to your VS Code settings.json:

{
  "mcp": {
    "servers": {
      "n8n": {
        "command": "npx",
        "args": ["-y", "mcp-n8n"],
        "env": {
          "N8N_BASE_URL": "http://localhost:5678",
          "N8N_API_KEY": "your-api-key"
        }
      }
    }
  }
}

Getting your API key

  1. Open your n8n instance
  2. Go to Settings → n8n API
  3. Create a new API key
  4. Copy it into the N8N_API_KEY environment variable

🛠 Tools

Workflows (10)

ToolDescription
n8n_list_workflowsList all workflows with optional filters
n8n_get_workflowGet a workflow by ID (includes nodes, connections, settings)
n8n_create_workflowCreate a new workflow from JSON
n8n_update_workflowUpdate an existing workflow (full replacement)
n8n_delete_workflowPermanently delete a workflow
n8n_activate_workflowActivate a workflow for production
n8n_deactivate_workflowDeactivate a workflow
n8n_execute_workflowTrigger execution with optional input data
n8n_get_workflow_tagsList tags associated with a workflow
n8n_update_workflow_tagsReplace all tags on a workflow

Executions (3)

ToolDescription
n8n_list_executionsList executions with filters (workflow, status, cursor)
n8n_get_executionGet execution status, result data and timing
n8n_delete_executionDelete an execution record

Data Tables (8)

Only available in n8n v1.64+. This is the only MCP server with Data Tables support.

ToolDescription
n8n_list_datatablesList all data tables with filtering and sorting
n8n_create_datatableCreate a table with typed columns (string, number, boolean, date, json)
n8n_get_datatableGet table metadata (columns, name, ID)
n8n_get_datatable_rowsQuery rows with filter, full-text search, sorting and pagination
n8n_insert_datatable_rowsInsert one or more rows
n8n_update_datatable_rowsUpdate rows matching a filter (supports dry-run)
n8n_upsert_datatable_rowUpdate if exists, insert if not
n8n_delete_datatable_rowsDelete rows matching a filter (supports dry-run)

Tags (5)

ToolDescription
n8n_list_tagsList all tags
n8n_get_tagGet a tag by ID
n8n_create_tagCreate a new tag
n8n_update_tagRename a tag
n8n_delete_tagDelete a tag

Credentials (4)

ToolDescription
n8n_list_credentialsList credentials (names and types only — data is redacted)
n8n_create_credentialCreate a credential (use get_credential_schema first)
n8n_delete_credentialDelete a credential
n8n_get_credential_schemaGet the JSON schema for a credential type

Users (3)

ToolDescription
n8n_list_usersList all users (requires instance owner role)
n8n_get_userGet a user by ID or email
n8n_delete_userDelete a user

Variables (3)

ToolDescription
n8n_list_variablesList all environment variables
n8n_create_variableCreate a key-value variable
n8n_delete_variableDelete a variable

Projects (4) — Enterprise

ToolDescription
n8n_list_projectsList all projects
n8n_create_projectCreate a project
n8n_update_projectRename a project
n8n_delete_projectDelete a project

Audit (1)

ToolDescription
n8n_generate_auditGenerate a security audit (credentials, database, filesystem, nodes)

System (1)

ToolDescription
n8n_health_checkVerify n8n API connectivity

Webhooks (1)

ToolDescription
n8n_trigger_webhookTrigger a workflow via its webhook URL (production or test)

⚙️ Configuration

VariableDefaultDescription
N8N_BASE_URLhttp://localhost:5678Your n8n instance URL
N8N_API_KEYAPI key (required)
N8N_MAX_RETRIES3Retry attempts on 429 / 5xx errors
N8N_TIMEOUT30000Request timeout in milliseconds

✨ Features

  • 43 tools — the most comprehensive n8n MCP available
  • Data Tables — full CRUD, the only MCP with this support
  • Automatic retry — exponential backoff on rate limits (429) and server errors (5xx)
  • Configurable timeout — prevent hung requests (default 30s)
  • Zero external dependencies — only MCP SDK + Zod
  • TypeScript strict mode — fully typed, safe, and maintainable
  • Node 16+ compatible — native fetch with http/https fallback

🔒 Security

  • API keys are never hardcoded — loaded exclusively from environment variables
  • Credential data is redacted in list responses (n8n API behavior)
  • All IDs are sanitized with encodeURIComponent to prevent path traversal
  • No sensitive data is logged or exposed in error messages

🏗 Development

git clone https://github.com/RPGMais/mcp-n8n.git
cd mcp-n8n
npm install
CommandDescription
npm run devRun with tsx (no build step)
npm run buildCompile TypeScript to dist/
npm startRun compiled version

Project structure

mcp-n8n/
├── src/
│   ├── index.ts          # MCP server — tool registration and handlers
│   └── n8n-client.ts     # HTTP client — API calls, retry, timeout
├── dist/                  # Compiled output
├── package.json
├── tsconfig.json
└── README.md

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/my-feature)
  3. Commit your changes
  4. Push and open a Pull Request

📄 License

MIT — free for personal and commercial use.


Built by NexTool Solutions

If this project helps you, consider giving it a ⭐

Reviews

No reviews yet

Sign in to write a review