n8n-MCP: Give Claude Access to 525+ n8n Nodes in Minutes

7月2日 Published inMCP Services

n8n-MCP is a Model Context Protocol server designed to provide your AI assistant with the schemas, documentation, and operational details of n8n nodes. Setup is straightforward and can be completed in minutes. Once connected, Claude (or any compatible MCP client) can interpret and interact with more than 525 workflow automation nodes.

Think of it as a bridge between n8n’s automation platform and your Large Language Model (LLM). It structures information so the model understands precisely what each node does and how to configure it. Here is a breakdown of the coverage:

  • 525+ Nodes supported from n8n-nodes-base and @n8n/n8n-nodes-langchain.
  • Node Properties – 99% coverage, including full schema data.
  • Node Operations – Mapping for 63.6% of available operations.
  • Documentation – 90% of content pulled directly from official n8n sources, including AI-specific nodes.
  • AI-Ready Tools – 263 nodes are fully documented and formatted for AI consumption.

Installation

You can have the server operational in less than five minutes.

Option 1: Docker (Recommended)

Prerequisite: Docker must be installed on your system.

Pull the latest image (approximately 280 MB; it contains no n8n overhead):

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

This image is 82% smaller than a standard n8n installation because it contains only the MCP runtime and a prebuilt database.

Add the following to your Claude Desktop configuration file:

Basic Mode (Documentation only):

{
  "mcpServers": {
    "n8n-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "MCP_MODE=stdio",
        "-e", "LOG_LEVEL=error",
        "-e", "DISABLE_CONSOLE_OUTPUT=true",
        "ghcr.io/czlonkowski/n8n-mcp:latest"
      ]
    }
  }
}

Full Mode (Includes workflow management):

{
  "mcpServers": {
    "n8n-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-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"
      ]
    }
  }
}

The -i flag is essential for MCP stdio communication. API credentials are optional; if you omit them, you still get access to full documentation and validation tools. If you provide them, you can create, update, and execute workflows directly within the Claude interface.

Configuration file locations:

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

Remember to restart Claude Desktop after saving your changes.

Option 2: Local Installation

Prerequisite: Node.js must be installed on your system.

git clone https://github.com/czlonkowski/n8n-mcp.git
cd n8n-mcp
npm install
npm run build
npm run rebuild
npm start   # Run a quick test

Claude Desktop configuration for a local install:

{
  "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"
      }
    }
  }
}

You can store API credentials in a .env file (refer to .env.example) or include them directly in the Claude configuration environment block.

Setting Up Claude Projects

To maximize efficiency when using this tool within a Claude Project, use the following system instructions:

You are an n8n automation expert utilizing n8n-MCP tools. Your objective is to design, build, and validate n8n workflows with precision.

Core workflow:

1. Initialization: Always start with start_here_workflow_guide() to review best practices.
2. Discovery: Use search_nodes({query: 'keyword'}), list_nodes({category: 'trigger'}), or list_ai_tools() to identify the appropriate nodes.
3. Configuration: Use get_node_essentials(nodeType) for the most critical properties. Use search_node_properties(nodeType, 'auth') to find specific fields. Use get_node_for_task('send_email') for templates.
4. Pre-validation: Validate configurations before building the workflow.
   - validate_node_minimal(nodeType, config) – checks only required fields.
   - validate_node_operation(nodeType, config, profile) – performs full operation-aware validation.
   Resolve errors at this stage.
5. Build: Assemble the workflow JSON using validated configurations, ensuring proper connections and error handling.
6. Workflow Validation: Verify the entire structure.
   - validate_workflow(workflow)
   - validate_workflow_connections(workflow)
   - validate_workflow_expressions(workflow)
7. Deployment (if API is configured):
   - n8n_create_workflow(workflow)
   - n8n_validate_workflow({id: 'workflow-id'})
   - Monitor via n8n_list_executions()

Response Guidelines:
- Discovery: Display available nodes and relevant options.
- Pre-validation: Show results of node configuration checks.
- Configuration: Present only validated, functional configurations.
- Build: Provide the complete workflow JSON.
- Workflow Validation: Report results of comprehensive structure checks.
- Deployment: Confirmation of creation (if applicable).
- Post-deployment: Verification of execution status.

Rules:
- Validate both before and after building.
- Never attempt to deploy an invalid workflow.
- Use n8n_update_partial_workflow for minor changes to conserve tokens.
- Clearly state all validation results.

Available MCP Tools

Core Documentation & Discovery:

  • start_here_workflow_guide – The primary entry point for instructions.
  • list_nodes – View the full library of supported nodes.
  • get_node_info – Access comprehensive details for a specific node.
  • get_node_essentials – Provides only the 10–20 most critical properties to save context space.
  • search_nodes – Perform full-text searches across all node documentation.
  • search_node_properties – Locate specific properties within a single node.
  • list_ai_tools – Identify nodes specifically designed for AI workflows.
  • get_node_as_tool_info – Provides instructions on using any node as an AI tool.

Advanced Validation & Templating:

  • get_node_for_task – Access pre-configured templates for common automation tasks.
  • list_tasks – View all available task templates.
  • validate_node_operation – Comprehensive check of configuration against node operations.
  • validate_node_minimal – Fast check for missing required fields.
  • validate_workflow – Full validation of the workflow, including AI tool dependencies.
  • validate_workflow_connections – Structural integrity check.
  • validate_workflow_expressions – Syntax check for n8n expressions.
  • get_property_dependencies – Visualize which properties appear based on other settings.
  • get_node_documentation – Access parsed documentation directly from n8n-docs.
  • get_database_statistics – View metrics on node and operation coverage.

n8n Management (Requires API configuration):

  • n8n_create_workflow
  • n8n_get_workflow
  • n8n_update_full_workflow
  • n8n_update_partial_workflow
  • n8n_delete_workflow
  • n8n_list_workflows
  • n8n_validate_workflow
  • n8n_trigger_webhook_workflow
  • n8n_get_execution
  • n8n_list_executions
  • n8n_delete_execution
  • n8n_health_check
  • n8n_diagnostic
  • n8n_list_available_tools

Example Usage

// Retrieve essential properties for the HTTP Request node
get_node_essentials("nodes-base.httpRequest")

// Search for nodes related to email or Gmail
search_nodes({ query: "send email gmail" })

// Fetch a pre-validated template for sending emails
get_node_for_task("send_email")

// Perform a full validation check before building
validate_node_operation({
  nodeType: "nodes-base.httpRequest",
  config: { method: "POST", url: "https://api.example.com" },
  profile: "runtime"
})

// Quick check for required fields in the Slack node
validate_node_minimal({
  nodeType: "nodes-base.slack",
  config: { resource: "message", operation: "send" }
})