Skip to main content

Overview

Connect n8n-MCP to Claude Desktop to give Claude comprehensive knowledge about n8n’s 1,084 workflow automation nodes, including 265 AI-capable tools.

Prerequisites

Claude Desktop

Claude Desktop application installed

Node.js (npx)

Any version for npx method

Docker (optional)

For Docker deployment method

Git (optional)

For local installation

Configuration File Location

Find your claude_desktop_config.json file:
~/Library/Application Support/Claude/claude_desktop_config.json

Configuration Methods

The fastest way to get started - no installation required:
1

Basic Configuration

For documentation tools only (no n8n API required):
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": ["n8n-mcp"],
      "env": {
        "MCP_MODE": "stdio",
        "LOG_LEVEL": "error",
        "DISABLE_CONSOLE_OUTPUT": "true"
      }
    }
  }
}
2

Full Configuration

For documentation AND workflow management tools:
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": ["n8n-mcp"],
      "env": {
        "MCP_MODE": "stdio",
        "LOG_LEVEL": "error",
        "DISABLE_CONSOLE_OUTPUT": "true",
        "N8N_API_URL": "https://your-n8n-instance.com",
        "N8N_API_KEY": "your-api-key"
      }
    }
  }
}
3

Restart Claude Desktop

Quit and reopen Claude Desktop, or press Cmd/Ctrl+R to reload
The MCP_MODE: "stdio" environment variable is required for Claude Desktop. Without it, you will see JSON parsing errors in the UI.

Method 2: Docker

Run n8n-MCP from a Docker container with no local installation:
1

Pull Docker Image

docker pull ghcr.io/czlonkowski/n8n-mcp:latest
2

Configure Claude Desktop

Basic configuration (documentation only):
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e", "MCP_MODE=stdio",
        "-e", "LOG_LEVEL=error",
        "-e", "DISABLE_CONSOLE_OUTPUT=true",
        "ghcr.io/czlonkowski/n8n-mcp:latest"
      ]
    }
  }
}
3

Full Configuration (with n8n API)

For workflow management features:
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e", "MCP_MODE=stdio",
        "-e", "LOG_LEVEL=error",
        "-e", "DISABLE_CONSOLE_OUTPUT=true",
        "-e", "N8N_API_URL=https://your-n8n-instance.com",
        "-e", "N8N_API_KEY=your-api-key",
        "ghcr.io/czlonkowski/n8n-mcp:latest"
      ]
    }
  }
}
4

Restart Claude Desktop

Quit and reopen Claude Desktop to load the new configuration
The -i flag is required for MCP stdio communication. Without it, Claude Desktop cannot communicate with the Docker container.

Method 3: Local Installation

For development or custom modifications:
1

Clone and Build

git clone https://github.com/czlonkowski/n8n-mcp.git
cd n8n-mcp
npm install
npm run build
npm run rebuild
2

Test Installation

npm start
3

Configure Claude Desktop

Replace /absolute/path/to/n8n-mcp with your actual path:
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/n8n-mcp/dist/mcp/index.js"],
      "env": {
        "MCP_MODE": "stdio",
        "LOG_LEVEL": "error",
        "DISABLE_CONSOLE_OUTPUT": "true",
        "N8N_API_URL": "https://your-n8n-instance.com",
        "N8N_API_KEY": "your-api-key"
      }
    }
  }
}
Use absolute paths, not relative paths. Paths starting with ~ or ./ will not work.

Local n8n Instance Configuration

If you’re running n8n locally (e.g., http://localhost:5678), you need to allow localhost webhooks:
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "--init",
        "-e", "MCP_MODE=stdio",
        "-e", "LOG_LEVEL=error",
        "-e", "DISABLE_CONSOLE_OUTPUT=true",
        "-e", "N8N_API_URL=http://host.docker.internal:5678",
        "-e", "N8N_API_KEY=your-api-key",
        "-e", "WEBHOOK_SECURITY_MODE=moderate",
        "ghcr.io/czlonkowski/n8n-mcp:latest"
      ]
    }
  }
}
Set WEBHOOK_SECURITY_MODE=moderate to allow webhooks to your local n8n instance. This is safe for local development while still blocking private networks and cloud metadata.

Verify Installation

After restarting Claude Desktop:
1

Check MCP Servers

Look for “n8n-mcp” in the MCP servers list in Claude Desktop
2

Test a Query

Ask Claude: “What n8n nodes are available for working with Slack?”
3

Test a Tool

Try: “Use the list_nodes tool to show me trigger nodes”

Troubleshooting

Server Not Appearing

# macOS/Linux
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | jq .

# Windows PowerShell
Get-Content "$env:APPDATA\Claude\claude_desktop_config.json" | ConvertFrom-Json
Ensure all paths are absolute (not relative). Paths starting with ~ or ./ will fail.
Quit Claude Desktop completely (not just close the window) and reopen it.

JSON Parsing Errors

Symptom: "Unexpected token..." or "Expected ',' or ']'" errors in logs Cause: Console output interfering with stdio communication Solution: Ensure all required environment variables are set:
  • MCP_MODE=stdio
  • LOG_LEVEL=error
  • DISABLE_CONSOLE_OUTPUT=true

Docker Issues

# Pull the latest image
docker pull ghcr.io/czlonkowski/n8n-mcp:latest
# Ensure Docker is running
docker ps
This is not a problem! The server automatically falls back to a pure JavaScript implementation. The warnings are suppressed with proper environment variables.

Server Appears But Tools Don’t Work

1

Verify Build

For local installations:
npm run build
2

Check Database

For local installations:
npm run rebuild
3

Restart Claude

Quit and reopen Claude Desktop completely

Next Steps

Environment Variables

Configure additional environment variables

n8n Integration

Connect to your n8n instance

Database Configuration

Optimize database settings

Available Tools

Explore available MCP tools

Build docs developers (and LLMs) love