n8n-mcp Documentation

A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you

22,665 stars TypeScript TypeScript 1 file ยท ~3,965 tokens #mcp#mcp-server#n8n#workflows
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy n8n-mcp on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name n8n-mcp --restart always n8n-mcp:latest
Configured Services & Ports
โš™๏ธ n8n-mcp
image: n8n-mcp:latest
๐Ÿ”Œ Ports: ${PORT:-3000}:${PORT:-3000}
docker-compose.yml
yaml (docker-compose.yml)
# Docker Compose file with BuildKit optimizations for faster builds
# This now builds without n8n dependencies for ultra-fast builds
version: '3.8'

services:
  n8n-mcp:
    build:
      context: .
      dockerfile: Dockerfile
      # Enable BuildKit
      x-bake:
        cache-from:
          - type=gha
          - type=local,src=/tmp/.buildx-cache
        cache-to:
          - type=gha,mode=max
          - type=local,dest=/tmp/.buildx-cache-new,mode=max
      args:
        BUILDKIT_INLINE_CACHE: 1
    image: n8n-mcp:latest
    container_name: n8n-mcp
    ports:
      - "${PORT:-3000}:${PORT:-3000}"
    environment:
      - MCP_MODE=${MCP_MODE:-http}
      - AUTH_TOKEN=${AUTH_TOKEN}
      - NODE_ENV=${NODE_ENV:-production}
      - LOG_LEVEL=${LOG_LEVEL:-info}
      - PORT=${PORT:-3000}
    volumes:
      # Mount data directory for persistence
      - ./data:/app/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "sh", "-c", "curl -f http://localhost:$${PORT:-3000}/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5s

# Use external network if needed
networks:
  default:
    name: n8n-mcp-network

File: README.md

n8n-MCP








A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations. Deploy in minutes to give Claude and other AI assistants deep knowledge about n8n's 2,541 workflow automation nodes (832 core + 1,709 community).

Overview

n8n-MCP serves as a bridge between n8n's workflow automation platform and AI models, enabling them to understand and work with n8n nodes effectively. It provides structured access to:

  • 2,541 n8n nodes - 832 core nodes + 1,709 community nodes (1,441 verified)
  • Node properties - 99% coverage with detailed schemas
  • Node operations - 66.5% coverage of available actions
  • Documentation - 86% coverage from official n8n docs (including AI nodes)
  • AI tools - 267 AI-capable tool variants detected with full documentation
  • Real-world examples - 156 ranked configurations extracted from popular templates
  • Template library - 2,352 workflow templates with 99.96% AI metadata coverage
  • Community nodes - Search verified community integrations with source filter

Support This Project

n8n-mcp started as a personal tool but now helps tens of thousands of developers automate their workflows efficiently. Maintaining and developing this project competes with my paid work. Your sponsorship helps me dedicate focused time to new features, respond quickly to issues, keep documentation up-to-date, and ensure compatibility with latest n8n releases. Become a sponsor

Important Safety Warning

NEVER edit your production workflows directly with AI! Always:

  • Make a copy of your workflow before using AI tools
  • Test in development environment first
  • Export backups of important workflows
  • Validate changes before deploying to production

AI results can be unpredictable. Protect your work!

Quick Start

The fastest way to try n8n-MCP - no installation, no configuration:

dashboard.n8n-mcp.com

  • Free tier: 100 tool calls/day
  • Instant access: Start building workflows immediately
  • Always up-to-date: Latest n8n nodes and templates
  • No infrastructure: We handle everything

Just sign up, get your API key, and connect your MCP client.

Want to self-host? See the Self-Hosting Guide for npx, Docker, Railway, and local installation options.

n8n Integration

Want to use n8n-MCP with your n8n instance? Check out our comprehensive n8n Deployment Guide for:

  • Local testing with the MCP Client Tool node
  • Production deployment with Docker Compose
  • Cloud deployment on Hetzner, AWS, and other providers
  • Troubleshooting and security best practices

Cloudflare Access Authentication

If your n8n instance sits behind Cloudflare Access (Zero Trust), provide your service token so n8n-MCP can authenticate:

  • N8N_CF_CLIENT_ID - Cloudflare Access Client ID
  • N8N_CF_CLIENT_SECRET - Cloudflare Access Client Secret

When set, these are sent as CF-Access-Client-Id / CF-Access-Client-Secret headers on n8n API requests, version/health probes, and webhook executions. The token is confined to the N8N_API_URL origin โ€” webhook calls to a different host (e.g. a split WEBHOOK_URL origin) do not receive it, to avoid leaking the token.

Connect your IDE

n8n-MCP works with multiple AI-powered IDEs and tools:

Add Claude Skills (Optional)

Supercharge your n8n workflow building with specialized skills that teach AI how to build production-ready workflows!

Learn more: n8n-skills repository

Claude Project Setup

For the best results when using n8n-MCP with Claude Projects, use these enhanced system instructions:

text
/* Detailed source-code truncated for AI context efficiency. */
```json
// FAILS at runtime
{resource: "message", operation: "post", text: "Hello"}

// WORKS - all parameters explicit
{resource: "message", operation: "post", select: "channel", channelId: "C123", text: "Hello"}

Example Availability

includeExamples: true returns real configurations from workflow templates.

  • Coverage varies by node popularity
  • When no examples available, use get_node + validate_node({mode: 'minimal'})

Validation Strategy

Level 1 - Quick Check (before building)

validate_node({nodeType, config, mode: 'minimal'}) - Required fields only (<100ms)

Level 2 - Comprehensive (before building)

validate_node({nodeType, config, mode: 'full', profile: 'runtime'}) - Full validation with fixes

Level 3 - Complete (after building)

validate_workflow(workflow) - Connections, expressions, AI tools

Level 4 - Post-Deployment

  1. n8n_validate_workflow({id}) - Validate deployed workflow
  2. n8n_autofix_workflow({id}) - Auto-fix common errors
  3. n8n_executions({action: 'list'}) - Monitor execution status

Response Format

Initial Creation

text
[Silent tool execution in parallel]

Created workflow:
- Webhook trigger โ†’ Slack notification
- Configured: POST /webhook โ†’ #general channel

Validation: All checks passed

Modifications

text
[Silent tool execution]

Updated workflow:
- Added error handling to HTTP node
- Fixed required Slack parameters

Changes validated successfully.

Batch Operations

Use n8n_update_partial_workflow with multiple operations in a single call:

GOOD - Batch multiple operations:

json
n8n_update_partial_workflow({
  id: "wf-123",
  operations: [
    {type: "updateNode", nodeId: "slack-1", changes: {...}},
    {type: "updateNode", nodeId: "http-1", changes: {...}},
    {type: "cleanStaleConnections"}
  ]
})

BAD - Separate calls:

json
n8n_update_partial_workflow({id: "wf-123", operations: [{...}]})
n8n_update_partial_workflow({id: "wf-123", operations: [{...}]})

CRITICAL: addConnection Syntax

The addConnection operation requires four separate string parameters. Common mistakes cause misleading errors.

CORRECT - Four separate string parameters:

json
{
  "type": "addConnection",
  "source": "node-id-string",
  "target": "target-node-id-string",
  "sourcePort": "main",
  "targetPort": "main"
}

Reference: GitHub Issue #327

CRITICAL: IF Node Multi-Output Routing

IF nodes have two outputs (TRUE and FALSE). Use the branch parameter to route to the correct output:

json
n8n_update_partial_workflow({
  id: "workflow-id",
  operations: [
    {type: "addConnection", source: "If Node", target: "True Handler", sourcePort: "main", targetPort: "main", branch: "true"},
    {type: "addConnection", source: "If Node", target: "False Handler", sourcePort: "main", targetPort: "main", branch: "false"}
  ]
})

Note: Without the branch parameter, both connections may end up on the same output, causing logic errors!

removeConnection Syntax

Use the same four-parameter format:

json
{
  "type": "removeConnection",
  "source": "source-node-id",
  "target": "target-node-id",
  "sourcePort": "main",
  "targetPort": "main"
}

/* Detailed source-code truncated for AI context efficiency. */

text
Save these instructions in your Claude Project for optimal n8n workflow assistance with intelligent template discovery.

## Available MCP Tools

### Core Tools (7 tools)
- **`tools_documentation`** - Get documentation for any MCP tool (START HERE!)
- **`search_nodes`** - Full-text search across all nodes. Use `source: 'community'|'verified'` for community nodes, `includeExamples: true` for configs
- **`get_node`** - Unified node information tool with multiple modes:
  - **Info mode** (default): `detail: 'minimal'|'standard'|'full'`, `includeExamples: true`
  - **Docs mode**: `mode: 'docs'` - Human-readable markdown documentation
  - **Property search**: `mode: 'search_properties'`, `propertyQuery: 'auth'`
  - **Versions**: `mode: 'versions'|'compare'|'breaking'|'migrations'`
- **`validate_node`** - Unified node validation:
  - `mode: 'minimal'` - Quick required fields check (<100ms)
  - `mode: 'full'` - Comprehensive validation with profiles (minimal, runtime, ai-friendly, strict)
- **`validate_workflow`** - Complete workflow validation including AI Agent validation
- **`search_templates`** - Unified template search:
  - `searchMode: 'keyword'` (default) - Text search with `query` parameter
  - `searchMode: 'by_nodes'` - Find templates using specific `nodeTypes`
  - `searchMode: 'by_task'` - Curated templates for common `task` types
  - `searchMode: 'by_metadata'` - Filter by `complexity`, `requiredService`, `targetAudience`
- **`get_template`** - Get complete workflow JSON (modes: nodes_only, structure, full)

### n8n Management Tools (16 tools - Requires API Configuration)
These tools require `N8N_API_URL` and `N8N_API_KEY` in your configuration.

#### Workflow Management
- **`n8n_create_workflow`** - Create new workflows with nodes and connections
- **`n8n_get_workflow`** - Unified workflow retrieval (modes: full, details, structure, minimal)
- **`n8n_update_full_workflow`** - Update entire workflow (complete replacement)
- **`n8n_update_partial_workflow`** - Update workflow using diff operations
- **`n8n_delete_workflow`** - Delete workflows permanently
- **`n8n_list_workflows`** - List workflows with filtering and pagination
- **`n8n_validate_workflow`** - Validate workflows in n8n by ID
- **`n8n_autofix_workflow`** - Automatically fix common workflow errors
- **`n8n_workflow_versions`** - Manage version history and rollback
- **`n8n_deploy_template`** - Deploy templates from n8n.io directly to your instance with auto-fix

#### Execution Management
- **`n8n_test_workflow`** - Test/trigger workflow execution (webhook, form, chat)
- **`n8n_executions`** - Unified execution management (list, get, delete)
- **`n8n_evaluations`** - Run and read evaluation test runs (list runs, aggregated metrics, per-case results on n8n 2.30+; trigger and cancel on 2.32+)

#### Folder Management
- **`n8n_manage_folders`** - Manage workflow folders (create, list, get, rename, move, delete; n8n 2.19+). Place workflows into folders via `n8n_create_workflow`'s `parentFolderId` or `n8n_update_partial_workflow`'s `moveToFolder` operation (n8n 2.32+)

#### Data Table Management
- **`n8n_manage_datatable`** - Manage n8n data tables and rows (list, get, create, update, delete)

#### Credential Management
- **`n8n_manage_credentials`** - Manage n8n credentials (list, get, create, update, delete, getSchema)

#### Security & Audit
- **`n8n_audit_instance`** - Security audit combining n8n's built-in audit API with deep workflow scanning

#### System Tools
- **`n8n_health_check`** - Check n8n API connectivity and features

### Read-Only Deployment

For governance-sensitive environments, use both env vars together. Fully disable tools that are write/destructive or handle sensitive data (`n8n_manage_credentials` and `n8n_manage_datatable` also offer read operations, but are removed entirely here because even reads expose sensitive material):

```bash
DISABLED_TOOLS=n8n_create_workflow,n8n_update_full_workflow,n8n_update_partial_workflow,n8n_delete_workflow,n8n_autofix_workflow,n8n_deploy_template,n8n_test_workflow,n8n_manage_credentials,n8n_manage_datatable
```

For tools that bundle read and write operations under one name, block only the destructive operations while keeping `list` and `get`:

```bash
DISABLED_TOOL_OPERATIONS=n8n_workflow_versions:delete,rollback,prune;n8n_executions:delete;n8n_evaluations:run,cancel;n8n_manage_folders:create,rename,move,delete
```

Combine with a read-only n8n API key (Settings โ†’ API in your n8n instance) for defence in depth. See [Read-Only Deployment Recipe](./docs/HTTP_DEPLOYMENT.md#read-only-deployment-recipe) for the full setup guide.

## Documentation

- [Self-Hosting Guide](./docs/SELF_HOSTING.md) - npx, Docker, Railway, and local installation
- [Security & Hardening](./docs/SECURITY_HARDENING.md) - Trust model, hardening options, workflow restrictions
- [n8n Deployment Guide](./docs/N8N_DEPLOYMENT.md) - Production deployment with n8n
- [Database Configuration](./docs/DATABASE_CONFIGURATION.md) - SQLite adapters and memory optimization
- [Privacy & Telemetry](./PRIVACY.md) - What we collect and how to opt out
- [Workflow Diff Operations](./docs/workflow-diff-examples.md) - Token-efficient workflow updates
- [HTTP Deployment](./docs/HTTP_DEPLOYMENT.md) - Remote server setup
- [Change Log](./CHANGELOG.md) - Complete version history

## License

MIT License - see [LICENSE](LICENSE) for details.

## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md) for development setup, testing, and contribution guidelines.

## Acknowledgments

See [Acknowledgments](./docs/ACKNOWLEDGMENTS.md) for credits and template attribution.

---



---

> ๐Ÿ’ผ **Need it built for you?**
>
> Work with [AiAdvisors](https://www.aiadvisors.pl/en) โ€” automation audits, builds, and operations by the team behind n8n-mcp and n8n-skills.

---

## File: docs/README.md

# n8n-MCP Documentation

## Getting Started
- [Self-Hosting Guide](./SELF_HOSTING.md) - npx, Docker, Railway, and local installation
- [Claude Desktop Setup](./README_CLAUDE_SETUP.md) - Step-by-step Claude Desktop configuration

## Deployment
- [n8n Deployment Guide](./N8N_DEPLOYMENT.md) - Production deployment with n8n
- [HTTP Deployment](./HTTP_DEPLOYMENT.md) - Remote HTTP server setup
- [Railway Deployment](./RAILWAY_DEPLOYMENT.md) - One-click cloud deployment
- [Docker Troubleshooting](./DOCKER_TROUBLESHOOTING.md) - Common Docker issues and solutions

## IDE Setup
- [Claude Code](./CLAUDE_CODE_SETUP.md)
- [Visual Studio Code](./VS_CODE_PROJECT_SETUP.md)
- [Cursor](./CURSOR_SETUP.md)
- [Windsurf](./WINDSURF_SETUP.md)
- [Codex](./CODEX_SETUP.md)
- [Antigravity](./ANTIGRAVITY_SETUP.md)

## Configuration
- [Security & Hardening](./SECURITY_HARDENING.md) - Trust model, hardening options
- [Database Configuration](./DATABASE_CONFIGURATION.md) - SQLite adapters, memory optimization
- [Dependency Updates](./DEPENDENCY_UPDATES.md) - Keeping n8n packages in sync

## Reference
- [Workflow Diff Operations](./workflow-diff-examples.md) - Token-efficient workflow updates
- [Automated Releases](./AUTOMATED_RELEASES.md) - Release process for maintainers
- [Acknowledgments](./ACKNOWLEDGMENTS.md) - Credits and template attribution

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `MCP_MODE` | Server mode: `stdio` or `http` | `stdio` |
| `AUTH_TOKEN` | Authentication token for HTTP mode | Required |
| `DISABLED_TOOLS` | Comma-separated list of tools to disable | None |
| `PORT` | HTTP server port | `3000` |
| `LOG_LEVEL` | Logging verbosity | `info` |

## Getting Help

1. Check the [Docker Troubleshooting Guide](./DOCKER_TROUBLESHOOTING.md)
2. Open an issue on [GitHub](https://github.com/czlonkowski/n8n-mcp/issues)