MCP n8n Server
Operate and build n8n from Cursor or Claude โ administration of your instance (users, projects, executions, audit) and a full builder loop: a catalog of 560 nodes with real parameter schemas extracted from the official n8n packages, validation before saving, automatic repair, snapshots with rollback and diff, per-node execution debugging, health reports, and full-instance backup.
Two env vars. Runs on your machine (stdio) or as a remote HTTP server. No hosted account.
๐ฏ Token Optimization
This server is optimized to minimize token consumption, addressing one of the biggest issues with MCP servers - excessive API token usage.
What We've Optimized:
- 90% reduction in tokens for workflow listing with new
n8n_list_workflows_summaryendpoint - Field filtering - request only the data you need
- Smart defaults - reduced from 100 to 10-20 results per query
- Intelligent warnings - alerts when operations will consume significant tokens
See TOKEN_OPTIMIZATION.md for detailed usage guide.
โจ Features
๐ Workflow Management
- Create & Deploy: Build workflows with natural language descriptions
- CRUD Operations: Full lifecycle management (Create, Read, Update, Delete)
- Activation Control: Enable/disable workflows on demand
- Project Transfer: Move workflows between projects seamlessly
- Tag Management: Organize workflows with custom tags
๐ Execution Monitoring
- Real-time Tracking: Monitor workflow executions with advanced filters
- Detailed Insights: Access full execution data and logs
- Error Recovery: Retry failed executions automatically
- Cleanup Tools: Manage execution history efficiently
๐ Credential Management
- Secure Creation: Add credentials for any service
- Schema Discovery: Auto-discover required fields for credential types
- Project Isolation: Transfer credentials between projects safely
- Type Support: Compatible with all n8n credential types
๐งฑ Workflow Builder
- Full node catalog โ 560 nodes with real schemas: extracted directly from
n8n-nodes-baseand@n8n/n8n-nodes-langchain(parameters with types, allowed options, display conditions, credentials, latest typeVersion), regenerated weekly by CI. Search withn8n_search_nodes, inspect withn8n_get_node - Real validation:
n8n_validate_workflowchecks against the real schemas โ nonexistent node types, missing required params (including conditionally required ones), invalid option values, wrong typeVersion, broken connections โ before save/activate - Expression linting: detects
{{ }}expressions missing the=prefix and references to nodes that don't exist in the workflow - Automatic repair:
n8n_autofix_workflowfixes missing typeVersion/positions, duplicate names, dangling connections and expression prefixes โ preview first, apply with a snapshot - Surgical edits:
n8n_update_workflow_partialadds/removes nodes and connections without rewriting the whole flow - Public templates: search and import from n8n.io (
n8n_search_public_templates,n8n_import_public_template) plus 100 bundled templates as a fallback - Guided prompts: MCP prompts
build-workflowandfix-workflowwalk any agent through the full build/validate/test/repair loop
๐ฌ Deep Debugging & Health
- Per-node execution data:
n8n_get_node_execution_datashows exactly what data flowed through one node (status, item counts, output samples, error details) without downloading the whole execution - Debug loop:
n8n_debug_last_errorreturns the failing node and message from the last error - Health reports:
n8n_workflow_healthcomputes success rate, failure count, average duration and last failure per workflow from recent executions, sorted worst-first
๐ก๏ธ Safety Net & Real Testing
- Automatic snapshots: before every update, partial edit, autofix, or delete, the previous state is saved locally (
~/.mcp-n8n/snapshots, configurable withN8N_SNAPSHOT_DIR) - Rollback:
n8n_rollback_workflowrestores any snapshot โ even recreates a deleted workflow (recreate=true) - Diff:
n8n_diff_workflow_snapshotcompares a snapshot against the current state (nodes added/removed/modified, changed parameters, connection changes) before deciding to roll back - Full-instance backup:
n8n_export_all_workflowssaves every workflow as JSON files;n8n_import_workflowsrestores them - End-to-end testing:
n8n_trigger_webhookcalls a Webhook-trigger workflow on the instance and returns the real HTTP response, so the agent can verify the flow actually works
๐ฏ Bundled Templates
- 100 local starting points with keyword matching, if you prefer not to hit n8n.io
๐๏ธ Organization & Administration
- Tags: Categorize and organize resources
- Variables: Centralized environment variable management
- Projects: Multi-tenant project support
- Users & Permissions: Complete access control management
- Audit Logs: Generate security and compliance reports
๐ Quick Start
Installation via npm (Recommended)
This is the easiest way to get started:
npm install -g mcp-n8n
Configuration
Get your n8n API credentials:
- Navigate to your n8n instance โ Settings โ n8n API
- Generate a new API key
Configure Claude Desktop:
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac/Linux) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Option A - Using global installation (if you ran npm install -g mcp-n8n):
{
"mcpServers": {
"n8n": {
"command": "mcp-n8n",
"env": {
"N8N_BASE_URL": "https://your-n8n-instance.com",
"N8N_API_KEY": "your-api-key-here",
"N8N_TOOLSETS": "all"
}
}
}
}
N8N_TOOLSETS is optional (all by default). Use core,builder if you want operations + creation without user/project admin tools. Use admin only for instance administration.
Remote HTTP mode (optional)
By default the server communicates over stdio (local). To run it as a shared remote server (e.g. in Docker or on a VPS), set a port:
N8N_BASE_URL=https://your-n8n-instance.com \
N8N_API_KEY=your-api-key \
N8N_MCP_HTTP_PORT=3000 \
N8N_MCP_HTTP_TOKEN=some-strong-secret \
mcp-n8n
This exposes the MCP protocol over streamable HTTP on port 3000 plus a GET /health endpoint. N8N_MCP_HTTP_TOKEN is strongly recommended: when set, every request must include Authorization: Bearer <token>. Point any MCP client that supports streamable HTTP at http://your-host:3000 with that header.
Option B - Using npx (no installation needed, always latest version):
{
"mcpServers": {
"n8n": {
"command": "npx",
"args": ["-y", "mcp-n8n"],
"env": {
"N8N_BASE_URL": "https://your-n8n-instance.com",
"N8N_API_KEY": "your-api-key-here"
}
}
}
}
- Configure Cursor:
Add to Cursor MCP settings (Settings โ Extensions โ MCP):
Recommended - Using npx (always uses latest version):
{
"mcpServers": {
"n8n": {
"command": "npx",
"args": ["-y", "mcp-n8n"],
"env": {
"N8N_BASE_URL": "https://your-n8n-instance.com",
"N8N_API_KEY": "your-api-key-here"
}
}
}
}
Note: Cursor requires using
npxfor MCP servers. The-yflag automatically installs/updates the package without prompting.
Option C - Docker:
docker build -t mcp-n8n .
{
"mcpServers": {
"n8n": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "N8N_BASE_URL", "-e", "N8N_API_KEY",
"-v", "mcp-n8n-data:/data",
"mcp-n8n"
],
"env": {
"N8N_BASE_URL": "https://your-n8n-instance.com",
"N8N_API_KEY": "your-api-key-here"
}
}
}
}
The /data volume persists workflow snapshots between runs.
- Restart Claude Desktop or Cursor
๐ฌ Usage Examples
Once configured, interact with n8n using natural language:
Creating Workflows
"Create a workflow that monitors my Gmail inbox and sends
Slack notifications for important emails"
"Build a daily report workflow that pulls data from my database,
generates charts, and emails them to my team"
Using Templates
"I need a WhatsApp chatbot with AI for customer support"
โ Automatically creates workflow from "WhatsApp AI Response Bot" template
"Create an automated stock analysis workflow"
โ Uses "Automated Stock Analysis with GPT-4" template
Managing Workflows
"Show me all active workflows in the production project"
โ Uses n8n_list_workflows_summary for efficient token usage
"Show me the details of workflow abc123"
โ Uses n8n_get_workflow to fetch complete details only when needed
"Deactivate the 'Daily Backup' workflow"
"What went wrong with execution abc123?"
Monitoring & Debugging
"Show me the last 10 failed executions"
"Retry all failed executions from workflow xyz456"
"Delete all successful executions older than 30 days"
๐ ๏ธ Available Tools
Workflowsn8n_create_workflow- Create new workflows (validate first)n8n_list_workflows_summary- Token-efficient listingn8n_list_workflows- Full details with optional field filteringn8n_get_workflow- Full workflow JSONn8n_update_workflow- Replace fields (omitted fields keep current values)n8n_update_workflow_partial- Surgical edits: add/remove nodes and connectionsn8n_delete_workflow- Remove workflows permanentlyn8n_activate_workflow/n8n_deactivate_workflown8n_transfer_workflow/ tags tools
n8n_list_workflow_snapshots- Local history of every change made through this servern8n_rollback_workflow- Restore a previous version, or recreate a deleted workflown8n_diff_workflow_snapshot- Compare a snapshot against the current state before rolling backn8n_trigger_webhook- Call a webhook workflow and get the real responsen8n_export_all_workflows/n8n_import_workflows- Full-instance backup and restore
n8n_search_nodes/n8n_get_node- Full catalog: 560 nodes with real parameter schemasn8n_validate_workflow- Check JSON against real schemas before save/activaten8n_autofix_workflow- Mechanical repairs: typeVersion, positions, duplicates, dangling connections, expression prefixesn8n_search_public_templates/n8n_import_public_template- Official n8n.io libraryn8n_list_workflow_templates/n8n_get_workflow_template/n8n_create_workflow_from_template- Bundled templates
100 Included Templates across 13 categories:
- E-commerce: Shopify automation, WooCommerce support agents
- Social Media: Instagram, TikTok, LinkedIn, Twitter automation
- AI/Chat: Chatbots, AI agents, voice assistants
- Communication: WhatsApp, Telegram, Email automation
- Content: Blog automation, video generation, SEO optimization
- HR/Recruitment: Resume screening, candidate sourcing
- Sales/CRM: Lead generation, cold calling pipelines
- Finance: Stock analysis, invoice extraction
- Data Scraping: Google Maps, LinkedIn, Amazon, TikTok
- Monitoring: Website uptime, competitor tracking
- Productivity: Calendar, Notion, scheduling automation
n8n_list_executions- Filter by status, workflow, projectn8n_get_execution- Detailed execution datan8n_delete_execution- Remove execution recordsn8n_retry_execution- Retry failed executionsn8n_debug_last_error- Failing node + message from the last errorn8n_get_node_execution_data- Data that flowed through one specific noden8n_workflow_health- Success rate, failures and duration per workflow
n8n_create_credential- Add new credentialsn8n_delete_credential- Remove credentials (owner only)n8n_get_credential_schema- Discover required fieldsn8n_transfer_credential- Move between projects
Tags: Create, list, get, update, deleteVariables: Create, list, update, deleteUsers: List, create, get, delete, change roleProjects: Create, list, update, delete, manage users
Advanced (2 tools)n8n_generate_audit- Security audit reportsn8n_pull_source_control- Version control integration
61 tools by default (N8N_TOOLSETS=all). core,builder exposes 28. Plus 2 MCP prompts (build-workflow, fix-workflow).
๐ Documentation
- Quick Start Guide - Get up and running in 5 minutes
- Examples & Use Cases - Real-world automation examples
- Node Reference - Detailed tool documentation
- Changelog - Version history and updates
๐๏ธ Project Structure
mcp-n8n/
โโโ src/
โ โโโ index.ts # MCP server implementation
โ โโโ n8n-client.ts # n8n API client
โ โโโ types.ts # TypeScript definitions
โโโ examples/
โ โโโ templates-metadata.json
โ โโโ *.json # Pre-built workflow templates
โโโ dist/ # Compiled output
โโโ QUICKSTART.md # Quick start guide
โโโ EXAMPLES.md # Usage examples
โโโ NODE_REFERENCE.md # API documentation
โโโ package.json
๐ง Development
Local Installation (For Development)
If you want to contribute or test local changes:
1. Setup
# Clone repository
git clone https://github.com/leonardosepulvedat/mcp-n8n.git
cd mcp-n8n
# Install dependencies
npm install
# Build
npm run build
# Development with auto-rebuild
npm run watch
2. Configure with Local Build
For Claude Desktop, add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"n8n": {
"command": "node",
"args": ["/absolute/path/to/mcp-n8n/dist/index.js"],
"env": {
"N8N_BASE_URL": "https://your-n8n-instance.com",
"N8N_API_KEY": "your-api-key-here"
}
}
}
}
For Cursor, add to MCP settings:
{
"mcpServers": {
"n8n": {
"command": "node",
"args": ["/absolute/path/to/mcp-n8n/dist/index.js"],
"env": {
"N8N_BASE_URL": "https://your-n8n-instance.com",
"N8N_API_KEY": "your-api-key-here"
}
}
}
}
Important: Replace /absolute/path/to/mcp-n8n/ with the actual absolute path to your cloned repository (e.g., /Users/yourname/projects/mcp-n8n/).
3. Testing
# Set environment variables
cp .env.example .env
# Edit .env with your credentials
# Build and test
npm run build
node dist/index.js
How to Run
To run the main script, execute:
python main.py
How to Test
To run the tests, execute:
pytest test_main.py
๐ Requirements
- Node.js: 20 or higher
- n8n Instance: Self-hosted or n8n Cloud (paid plan)
- n8n API Key: Required for authentication
- AI IDE: Claude Desktop or Cursor with MCP support
n8n Requirements
- Self-hosted: Full API access โ
- n8n Cloud: Requires paid plan for API access
- Version: Compatible with n8n v1.0.0+
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- n8n - The workflow automation platform
- Anthropic - Claude and Model Context Protocol
- Cursor - AI-powered code editor
๐ Resources
โ ๏ธ Important Notes
API Access
- n8n Cloud requires a paid plan to access the API
- Self-hosted n8n has full API access on all plans
- Some operations require owner/admin permissions
Security
- Never commit
.envfiles with credentials - Use environment variables for sensitive data
- API keys grant full access to your n8n instance
- Regularly rotate API keys for security
Rate Limiting
- Respect n8n API rate limits
- Use pagination for large result sets
- Implement error handling for rate limit responses
๐ Troubleshooting
Connection Issues
Problem: "Cannot connect to n8n API"
- Verify
N8N_BASE_URLis correct and accessible - Check that API key is valid
- Ensure n8n instance is running
Permission Errors
Problem: "Insufficient permissions"
- Some operations require owner/admin role
- Verify your user has appropriate permissions
- Check project-level access rights
Template Issues
Problem: "Template not found"
- Ensure
examples/directory is present - Verify
templates-metadata.jsonexists - Check template file references are correct
๐ก Tips & Best Practices
- Start with Templates: Use pre-built templates as starting points
- Use Tags: Organize workflows with tags for easy management
- Monitor Executions: Regularly check failed executions
- Clean Up: Remove old execution data to save space
- Version Control: Use n8n's built-in version control features
- Test First: Test workflows before activating in production
๐ง Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- n8n Community: community.n8n.io
โฌ Back to Top