/ Directory / Playground / n8n-mcp
● Community czlonkowski 🔑 Needs your key

n8n-mcp

by czlonkowski · czlonkowski/n8n-mcp

Let your agent design, validate, and deploy n8n workflows — with a built-in node catalog and validator so JSON is correct first try.

czlonkowski/n8n-mcp gives your agent deep knowledge of n8n's node catalog plus live management of your n8n instance. Search 500+ nodes, validate workflow JSON before deploy, generate from templates, and push directly to n8n via its API. Ideal for building automations conversationally.

Why use it

Key features

Live Demo

What it looks like in practice

n8n-mcp.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "n8n-mcp"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "n8n-mcp"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "n8n-mcp"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "n8n-mcp"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "n8n-mcp",
      "command": "npx",
      "args": [
        "-y",
        "n8n-mcp"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "n8n-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "n8n-mcp"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add n8n-mcp -- npx -y n8n-mcp

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use n8n-mcp

Build an n8n workflow from a plain-English description

👤 Ops engineers, indie hackers using n8n ⏱ ~20 min intermediate

When to use: You know what you want ('every new Typeform goes to Notion + Slack') but don't want to click through the n8n UI for 20 minutes.

Prerequisites
  • n8n instance (cloud or self-hosted) — Any working n8n; needed only for deploy step, not for design
  • N8N_API_URL + N8N_API_KEY — n8n Settings → n8n API → create API key
Flow
  1. Search nodes for each step
    I want: Typeform webhook → parse → create Notion page → post to Slack. Search for the exact node types I need.✓ Copied
    → Node names + required credentials identified
  2. Generate the workflow JSON
    Generate a complete workflow with those 4 nodes wired in order. Use a template as a base if one matches.✓ Copied
    → Valid n8n workflow JSON
  3. Validate and deploy
    Validate the JSON with validate_workflow. Fix any errors. Then deploy to my n8n as a draft (not active).✓ Copied
    → Workflow appears in n8n UI in draft state

Outcome: A working n8n workflow, 10x faster than manual clicking, with validation catching misconfigs before you hit Run.

Pitfalls
  • Credentials have to be set up in n8n first — JSON references them by ID — Create credential entries in n8n UI before deploy; pass the credential IDs to the agent
  • Agent deploys as active and immediately fires on historical data — Always deploy inactive; activate manually after testing in n8n UI

Audit your n8n instance for broken or dangerous workflows

👤 Ops leads inheriting an n8n instance ⏱ ~30 min intermediate

When to use: You took over an n8n instance with 50 workflows, no docs. You need to know what's there and what's risky.

Flow
  1. List all workflows
    List every workflow with name, active status, last execution time, and node count.✓ Copied
    → Full inventory
  2. Flag risky patterns
    Find workflows with: no error handling, webhook triggers with no auth, HTTP Request nodes to random URLs, or shell command nodes.✓ Copied
    → Risk list with rationale
  3. Check failure rates
    For each active workflow, get last 20 executions. Compute failure rate. Flag anything >20%.✓ Copied
    → Broken workflow list

Outcome: A risk + health inventory — know what to fix, freeze, or delete.

Pitfalls
  • Disabling a workflow that other workflows depend on (via Execute Workflow node) — Before disabling, search other workflows for references to the target by ID

Start from a template and customize it

👤 New n8n users ⏱ ~15 min beginner

When to use: Someone has likely built something close to what you need — use that as a starting point.

Flow
  1. Search templates
    Find templates that do: 'sync a CSV to a database with deduplication'.✓ Copied
    → 3-5 candidate templates ranked by relevance
  2. Fetch and adapt
    Get the JSON for the top match. Adapt nodes to use my actual database (Postgres at host X) and my CSV source (S3 bucket Y).✓ Copied
    → Customized workflow JSON
  3. Validate and deploy
    Validate, then deploy as draft to my n8n.✓ Copied
    → Draft workflow in n8n

Outcome: A working workflow in 10 minutes by standing on someone else's shoulders.

Pitfalls
  • Templates use deprecated node versions — Check validate_workflow output for version warnings; swap in current nodes

Combinations

Pair with other MCPs for X10 leverage

n8n-mcp + notion

Scaffold an n8n workflow that writes to a specific Notion database — look up the DB schema first

Look up my Notion 'Leads' database schema. Then build an n8n workflow that takes webhook input and creates matching entries.✓ Copied
n8n-mcp + linear

Auto-create Linear tickets for n8n workflow failures

Audit my n8n for workflows failing >20% of runs. For each, create a Linear bug.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
tools_documentation tool_name? Discover available tools free
search_nodes query, limit? Find which n8n nodes match a need free
get_node node_type, mode? Deep-dive on a specific node before wiring it free
validate_node node JSON Check a single node config free
validate_workflow workflow JSON Always — before any deploy free
search_templates query/keywords/nodes Find prior art before building from scratch free
get_template template_id Fetch a chosen template free
create_workflow / update_workflow / delete_workflow requires N8N_API_URL/KEY Deploy or mutate on the real instance 1 n8n API call
trigger_workflow / get_executions workflow_id, data? Test a deployed workflow 1 n8n API call
audit_instance Periodic instance review multiple API calls

Cost & Limits

What this costs to run

API quota
Search/validate tools: unlimited (local data). Management tools: limited by your n8n instance's capacity.
Tokens per call
Node schemas can be large (2-5k tokens); use get_node with mode='minimal' when you just need types
Monetary
Free MCP; n8n has a cloud tier ($20+/mo) or self-host for free
Tip
Design fully with search/validate first (free). Only call create/update once you're sure — each deploy costs a quota slot on n8n cloud

Security

Permissions, secrets, blast radius

Credential storage: N8N_API_KEY in env var — treat like an admin token since it can create workflows
Data egress: n8n-mcp MCP itself runs locally. Management tools call your N8N_API_URL.

Troubleshooting

Common errors and fixes

Management tools not appearing

N8N_API_URL or N8N_API_KEY not set. Management tools only register when both env vars are present at startup.

Verify: echo $N8N_API_URL && echo $N8N_API_KEY | cut -c1-6
validate_workflow passes but n8n rejects at deploy

Likely a credential reference issue. Credentials are validated against names in your n8n instance — verify the credential names match exactly.

Workflow deploys but fails on first run with 'Node type not found'

You're using a node from a community package not installed on the n8n instance. Install it in n8n first or swap to a core node.

Template JSON uses deprecated node versions

After fetching, pass through validate_workflow — it flags deprecated versions. Upgrade nodes before deploy.

Alternatives

n8n-mcp vs others

AlternativeWhen to use it insteadTradeoff
Zapier MCPYour team is on Zapier not n8nHosted only; less control but more polished integrations
Make (Integromat) MCPYour team is on MakeHosted; scenario model differs from n8n's graph model
Raw n8n REST APIYou want code-level control from a custom scriptNo node catalog or validation — you're on your own for correctness

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills