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
sourcefilter
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:
- 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 IDN8N_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:
- Claude Code - Quick setup for Claude Code CLI
- Visual Studio Code - VS Code with GitHub Copilot integration
- Cursor - Step-by-step Cursor IDE setup
- Windsurf - Windsurf integration with project rules
- Codex - Codex integration guide
- Antigravity - Antigravity integration guide
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:
/* 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
n8n_validate_workflow({id})- Validate deployed workflown8n_autofix_workflow({id})- Auto-fix common errorsn8n_executions({action: 'list'})- Monitor execution status
Response Format
Initial Creation
[Silent tool execution in parallel]
Created workflow:
- Webhook trigger โ Slack notification
- Configured: POST /webhook โ #general channel
Validation: All checks passedModifications
[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:
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:
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:
{
"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:
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:
{
"type": "removeConnection",
"source": "source-node-id",
"target": "target-node-id",
"sourcePort": "main",
"targetPort": "main"
}/* Detailed source-code truncated for AI context efficiency. */
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)