n8n-pro-mcp
Full-instance management for self-hosted n8n, including queue mode, covering workflows, executions, tags, credentials, variables, projects, users, security audit, source control, and health monitoring.
n8n Pro MCP ⚙️
Full-instance management for self-hosted n8n — including queue mode — through the Model Context Protocol. 51 tools covering workflows, executions, tags, credentials, variables, projects, users, security audit, source control and health monitoring.
n8n-pro-mcp connects Claude Code, Claude Desktop, Cursor or any MCP client to your n8n instance via the official n8n public API v1, with automatic cursor pagination, exponential-backoff retry on reads (writes and webhook calls are never retried, so side effects can't duplicate), and offline workflow validation that catches the classic n8n mistakes (malformed {{ }} expressions, webhook data accessed without .body, Code nodes missing return [{json: {...}}]) before they reach your instance.
Why this one?
Queue mode first-class —
list_running_executions(live queue view),get_execution_stats(success rate + average duration per workflow) andcheck_health(healthz, readiness, API auth) were built for instances runningEXECUTIONS_MODE=queuewith workers and webhook processors.N8N_WEBHOOK_BASE_URLlets webhook calls target dedicated webhook processors.Complete API v1 coverage — tags, variables, projects, users, source control and cross-project transfers, beyond the usual workflow/execution CRUD.
Offline validation built in —
validate_workflow_jsonchecks structure, connection integrity, orphan nodes, expression syntax, webhook.bodyaccess, Code node return format and hardcoded secrets without any API call.create_workflow/update_workflowrun it automatically and refuse invalid payloads.Safe partial updates —
update_workflowfetches the current workflow, merges only what you pass and strips read-only fields, so you never lose nodes by sending an incomplete PUT.Tags by name —
set_workflow_tagsaccepts tag names and creates missing ones; no manual ID juggling.Ops compositions the raw API doesn't have —
summarize_execution_error(just the failing node + error, not a giant JSON dump),prune_executions(bulk cleanup with dry run),wait_for_execution(poll until terminal),clone_workflowandset_workflows_active_by_tag(tag-based kill switch).
Related MCP server: N8N MCP Server
Installation
npm install -g n8n-pro-mcp # or use npx, no install neededFrom source:
git clone https://github.com/helbertparanhos/n8n-pro-mcp.git && cd n8n-pro-mcp
npm install
npm run buildWhen running from source, you can copy .env.example to .env in the project root — the server loads it from the package root, not the working directory. When installed via npx, set the variables through your MCP client config instead (the .env file is not read from the npx cache).
Configuration
Variable | Required | Description |
| ✅ | Base URL of your instance (e.g. |
| ✅ | API key from n8n → Settings → n8n API → Create API key |
| — | Separate base URL for webhook calls (queue mode with dedicated webhook processors) |
| — | Per-request timeout in ms (default |
| — | Retries on 429/5xx/network errors — applied to GET requests only, never to writes or webhook calls (default |
Claude Code
claude mcp add n8n-pro --env N8N_API_URL=https://n8n.yourdomain.com --env N8N_API_KEY=your-key -- npx -y n8n-pro-mcpOr in .claude/settings.json / .mcp.json:
{
"mcpServers": {
"n8n-pro": {
"command": "npx",
"args": ["-y", "n8n-pro-mcp"],
"env": {
"N8N_API_URL": "https://n8n.yourdomain.com",
"N8N_API_KEY": "your-api-key"
}
}
}
}Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"n8n-pro": {
"command": "npx",
"args": ["-y", "n8n-pro-mcp"],
"env": {
"N8N_API_URL": "https://n8n.yourdomain.com",
"N8N_API_KEY": "your-api-key"
}
}
}
}Cursor
Same JSON block in Cursor's MCP settings (.cursor/mcp.json).
Tools (51)
Workflows (12)
Tool | Description |
| List with filters (active, tags, project, name) + auto pagination |
| Full JSON or lightweight summary of one workflow |
| Create from JSON, with automatic offline validation |
| Partial update — fetch, merge, validate, PUT |
| Permanently delete |
| Toggle triggers |
| Move between projects |
| Free-text search across names, node names and node types |
| Duplicate a workflow as an inactive copy |
| Bulk activate/deactivate by tag, with dry run |
| Offline validation, no API call |
Executions (10)
Tool | Description |
| Filter by status/workflow/project, with durations |
| Summary or full node-level run data for debugging |
| Remove an execution record |
| Retry a failed/stopped execution |
| Queue-mode live view of running/queued executions |
| Trigger workflows via production or test webhook |
| Poll an execution until it reaches a terminal state |
| Failing node + error message only — no giant JSON dump |
| Bulk-delete old execution records, dry run by default |
| Success rate + avg duration per workflow over a sample |
Tags (6)
list_tags, create_tag, update_tag, delete_tag, get_workflow_tags, set_workflow_tags (by name, auto-creates missing tags).
Credentials (4)
create_credential, delete_credential, get_credential_schema, transfer_credential. Secrets are write-only — the n8n API never returns credential data.
Variables (4)
list_variables, create_variable, update_variable, delete_variable (licensed feature).
Projects (7)
list_projects, create_project, update_project, delete_project, plus member management: add_user_to_project, remove_user_from_project, change_user_project_role (licensed feature).
Users (5)
list_users, get_user, create_user (invite), delete_user, change_user_role.
System (3)
Tool | Description |
| healthz + readiness (DB) + API auth, with a plain-language summary |
| n8n's built-in security audit (credentials, database, nodes, filesystem, instance) |
| Pull from the connected git repository |
Queue mode playbook
With EXECUTIONS_MODE=queue (main + workers + Redis):
check_health— confirms the main process and DB are up.list_running_executions— what is actually in flight right now; a growing list with oldstartedAtvalues means workers are starved or stuck.get_execution_stats— which workflows fail or crawl; sorted worst-first by success rate.run_webhookwithN8N_WEBHOOK_BASE_URLpointing at your webhook processors to test the production ingestion path end to end.
Development
npm test # build + unit tests (validation rules, client helpers, .env parser)
npm run watch # incremental compile
npm run inspector # interactive testing with @modelcontextprotocol/inspectorCI (GitHub Actions) runs build, tests and npm audit on every push and PR.
Requirements
Node.js ≥ 18
n8n instance with the public API enabled (
N8N_PUBLIC_API_DISABLEDnot set) and an API keyVariables, projects and source-control tools require the corresponding licensed n8n features
👤 Author
Created by Helbert Paranhos at Strat Academy.
If this project helped you, consider starring ⭐ the repository and following Strat Academy for more AI automation tooling.
📄 License
MIT © Helbert Paranhos / Strat Academy — see LICENSE.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/helbertparanhos/n8n-pro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server