N8n
BLOCKgrade F · trust 29/100A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
mcpmcp servern8nworkflowsOverview
From the repository's own README, as read at the audited commit.
# n8n-MCP[](https://opensource.org/licenses/MIT)[](https://github.com/czlonkowski/n8n-mcp)[](https://www.npmjs.com/package/n8n-mcp)[](https://codecov.io/gh/czlonkowski/n8n-mcp)[](https://github.com/czlonkowski/n8n-mcp/actions)[](https://github.com/n8n-io/n8n)[](https://github.com/czlonkowski/n8n-mcp/pkgs/container/n8n-mcp)[](https://railway.com/deploy/n8n-mcp?referralCode=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,791 workflow automation nodes (833 core + 1,958 community).## Overviewn8n-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,791 n8n nodes** - 833 core nodes + 1,958 community nodes (1,619 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 ver
Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add n8n-mcp-ui-apps --env AUTH_RATE_LIMIT_MAX=${AUTH_RATE_LIMIT_MAX} --env AUTH_RATE_LIMIT_WINDOW=${AUTH_RATE_LIMIT_WINDOW} --env AUTH_TOKEN=${AUTH_TOKEN} --env AUTH_TOKEN_FILE=${AUTH_TOKEN_FILE} -- npx -y [email protected]{
"mcpServers": {
"n8n-mcp-ui-apps": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"AUTH_RATE_LIMIT_MAX": "${AUTH_RATE_LIMIT_MAX}",
"AUTH_RATE_LIMIT_WINDOW": "${AUTH_RATE_LIMIT_WINDOW}",
"AUTH_TOKEN": "${AUTH_TOKEN}",
"AUTH_TOKEN_FILE": "${AUTH_TOKEN_FILE}"
}
}
}
}Exposed tools (57) 47 read · 7 write · 3 destructive
Blast radius: 3 tools can delete or overwrite. An agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
Empty | read | Empty node |
IF | read | Route items |
OpenAI | read | OpenAI integration |
Slack | read | Consume Slack API |
Test | read | Test node |
Webhook | read | Starts workflow on webhook call |
body | read | Issue description |
calculate_shipping | read | Calculate shipping cost based on weight (kg) and distance (km) |
city | read | City name |
data_analyst | read | Data analysis expert |
echo | read | Echo skill |
field1 | read | Primary description |
get_ai_agent_node | read | Extract AI Agent node source |
get_function_node | read | Extract Function node source |
get_node | read | Get node info with progressive detail levels and multiple modes. Detail: minimal (~200 tokens), standard (~1-2K, default), full (~3-8K). Modes: info (default), docs (markdown documentation), search_properties (find properties), versions/compare/breaking/migrations (version info). Use format= |
get_node_essentials | read | Essentials |
get_node_info | read | Get info |
get_template | read | Get template by ID. Use mode to control response size: nodes_only (minimal), structure (nodes+connections), full (complete workflow). |
get_webhook_node | read | Extract Webhook node source |
host_failing_tool | read | Always fails |
host_list_instances | read | List n8n instances |
host_mutable_tool | read | original description |
host_switch_instance | read | Switch active n8n instance |
host_typed_tool | read | Has a typed input schema |
list_ai_nodes | read | List AI/LangChain nodes |
list_available_nodes | read | List all available n8n nodes |
n8n_audit_instance | read | Security audit of n8n instance. Combines n8n |
n8n_autofix_workflow | write | Automatically fix common workflow validation errors. Preview fixes or apply them. Fixes expression format, typeVersion, error output config, webhook paths, connection structure issues (numeric keys, invalid types, ID-to-name, duplicates, out-of-bounds indices). |
n8n_create_workflow | write | Create workflow. Requires: name, nodes[], connections{}. Created inactive. Returns workflow with ID. |
n8n_delete_workflow | destructive | Permanently delete a workflow. This action cannot be undone. |
n8n_deploy_template | write | Deploy a workflow template from n8n.io directly to your n8n instance. Deploys first, then auto-fixes common issues (expression format, typeVersions). Returns workflow ID, required credentials, and fixes applied. |
n8n_executions | destructive | Manage workflow executions: get details, list, or delete. Use action= |
n8n_explore_node_resources | read | Resolve the real options behind a node\ |
n8n_get_workflow | write | Get workflow by ID with different detail levels. n8n has a draft/publish model: the workflow body holds the draft (latest edits); use mode= |
n8n_health_check | read | Check n8n instance health and API connectivity. Use mode= |
n8n_list_catalog | read | List instance-level catalog entries: projects (with the personal project marked, needed as projectId for agents and data tables) or tags. Reads the Public API first; when team projects are not licensed there, falls back to n8n\ |
n8n_list_workflows | read | List workflows (minimal metadata only). Returns id/name/active/dates/tags. Check hasMore/nextCursor for pagination. |
n8n_manage_agents | read | Manage n8n Agents (persisted assistants with a model, instructions, tools, skills, tasks, memory and channels) through n8n |
n8n_manage_credentials | destructive | Manage n8n credentials. Actions: list, get, create, update, delete, getSchema. Use getSchema to discover required fields before creating. For list, page beyond 100 results with cursor (from the previous response\ |
n8n_manage_datatable | read | Manage n8n data tables, rows and columns. Actions: createTable, listTables, getTable, updateTable, deleteTable, getRows, insertRows, updateRows, upsertRows, deleteRows, addColumn, deleteColumn, renameColumn. The column actions run through n8n |
n8n_manage_folders | read | Manage workflow folders (n8n 2.19+; folders need a registered Community instance or higher). Actions: create, list, get, rename, move, delete. projectId defaults to |
n8n_probe_tool | read | Synthetic tool used by the policy tests |
n8n_test_workflow | write | Run a workflow. method=auto (default) triggers it over HTTP through its webhook/form/chat trigger. Workflows without such a trigger need n8n |
n8n_update_full_workflow | write | Full workflow update. Requires complete nodes[] and connections{}. For incremental use n8n_update_partial_workflow. |
n8n_validate_workflow | read | Validate workflow by ID. Checks nodes, connections, expressions. Returns errors/warnings/suggestions. |
owner | read | Repository owner username |
repo | read | Repository name |
research_agent | read | Deep research specialist |
research_specialist | read | Expert researcher that searches multiple sources and synthesizes information. Use for detailed research tasks. |
search_nodes | read | Search n8n nodes by keyword with optional real-world examples. Pass query as string. Example: query= |
search_templates | read | Search templates with multiple modes. Use searchMode= |
title | read | Issue title |
tools_documentation | write | Get documentation for n8n MCP tools. Call without parameters for quick start guide. Use topic parameter to get documentation for specific tools. Use depth= |
validate_node | read | Validate n8n node configuration. Use mode= |
validate_workflow | read | Full workflow validation: structure, connections, expressions, AI tools. Returns errors/warnings/fixes. Essential before deploy. |
writer_agent | read | Content writing specialist |
wrongName | read | User identifier |
Details
- Source
- czlonkowski/n8n-mcp
- npm
n8n-mcp-ui-apps@1.0.0- Transports
- sse · stdio · streamable-http
- Credentials it reads
AUTH_RATE_LIMIT_MAXAUTH_RATE_LIMIT_WINDOWAUTH_TOKENAUTH_TOKEN_FILEDATABASE_PASSWORDMCP_AUTH_TOKENN8N_API_KEYN8N_MCP_ACCESS_TOKENN8N_MCP_LLM_API_KEYOPENAI_API_KEYSECRET_API_KEYSUPABASE_ANON_KEY- License
- MIT
- Stars
- 22,905 · pushed 0d ago
Trust audit
Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (9 observation(s))
- Network
- declared (11 observation(s))
- Shell
- declared (10 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
jsCode: 'const result = eval(item.json.code);\nreturn [{json: {result}}];'exec(sql: string): void;
exec(sql: string): void {exec(sql: string): void {if (language !== 'python' && (code?.includes('eval(') || code?.includes('exec('))) {'169.254.169.254', // AWS/Azure metadata
Access environment variables:
1. switch → A; read the source (n8n_manage_credentials get / n8n_get_workflow)
nodes.db-shm
console.log(` - Found: ${token.substring(0, 20)}...`);logger.info(`Added problematic token to sanitizer: ${token.substring(0, 10)}...`);CMD sh -c 'curl -f http://127.0.0.1:${PORT:-3000}/health || exit 1'CMD curl -f http://127.0.0.1:${PORT:-3000}/health || exit 1const wf = makeWorkflow({ apiKey: 'sk-ant-abcdefghijklmnopqrstuvwxyz1234' });const wf = makeWorkflow({ accessKeyId: 'AKIA1234567890ABCDEF' });id: 'AKIA1234567890ABCDEF',
const wf = makeWorkflow({ key: 'AKIA1234567890ABCDEF' });parameters: { key: 'AKIA1234567890ABCDEF' },const jsCode = 'const base = "https://host:"; notify("[email protected]"); const db = "postgres://u:p@h/db";';apiKey: 'sk_live_SUPER_SECRET_API_KEY_123456789',
const wf = makeWorkflow({ apiKey: 'sk-proj-abc123def456ghi789jkl0' });const wf = makeWorkflow({ apiKey: 'sk-abcdefghij1234567890abcdefghij' });const wf = makeWorkflow({ token: 'ghp_1234567890abcdefghijklmnopqrstuvwxyz' });const wf = makeWorkflow({ token: 'xoxb-1234567890-abcdefghij' });const wf = makeWorkflow({ token: 'ghp_1234567890abcdefghijklmnopqrstuvwxyz' });Gates applied: no_behavioural_pass.
Audited 2026-09-17 · audit v0.4.0 · source sha 38edc3a55958 · full audit: observations/trust-audit/mcp-server/czlonkowski__n8n-9.json · Report an issue or request a re-scan
Audit history
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-17 | 38edc3a55958 | BLOCK | F | 29 | first audit |
Alternatives
Other servers in the same categories, safer ones first.
Questions
What is the N8n MCP server?
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
What tools does N8n expose?
57 in total: 47 read-only, 7 that write, and 3 that can delete or overwrite (n8n_delete_workflow, n8n_executions, n8n_manage_credentials). Every one is listed on this page with its risk.
Is N8n safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (29/100) and found 8 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 3 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does N8n need?
It reads AUTH_RATE_LIMIT_MAX, AUTH_RATE_LIMIT_WINDOW, AUTH_TOKEN, AUTH_TOKEN_FILE, DATABASE_PASSWORD, MCP_AUTH_TOKEN, N8N_API_KEY, N8N_MCP_ACCESS_TOKEN, N8N_MCP_LLM_API_KEY, OPENAI_API_KEY, SECRET_API_KEY and SUPABASE_ANON_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does N8n run?
It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as n8n-mcp-ui-apps at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (38edc3a55958), read on 2026-09-17. The repository is watched and re-audited when it changes.
Provenance: OBSERVED · read 2026-09-17 · job trust-audit-2026-09-17