N8n MCP vs Repomix
A side-by-side look at the N8n MCP and Repomix MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose N8n MCP for developer tools work as a local process; choose Repomix for developer tools as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose N8n MCP when
- You need dedicated capabilities in the Developer Tools domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
N8N_API_URL, N8N_API_KEY, N8N_MCP_READ_ONLY, N8N_MCP_DISABLED_TOOLS, N8N_MCP_ALLOWED_WORKFLOW_IDS, N8N_MCP_ALLOWED_TAGS. - You want tools like
node_scaffold, workflow_generate, workflow_lint.
Choose Repomix when
- You need dedicated capabilities in the Developer Tools domain.
- You prefer a local stdio subprocess transport.
- You want tools like
pack_codebase, directory, compress.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Developer Tools | Developer Tools |
| Quality signal | 64/100 · Good | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | N8N_API_URLN8N_API_KEYN8N_MCP_READ_ONLYN8N_MCP_DISABLED_TOOLSN8N_MCP_ALLOWED_WORKFLOW_IDSN8N_MCP_ALLOWED_TAGS | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 14 | 28,991 |
| Directory activity | 2 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 12 | 23 |
| Full listing | View N8n MCP | View Repomix |
Tools & capabilities
N8n MCP tools 12
node_scaffoldScaffold a TypeScript skeleton for an n8n custom node from a plain-English description. Returns a single TypeScript file implementing INodeType with description, credentials reference, and an execute method stub. Pure code generation — no network, no filesystem writes.workflow_generateGenerate a valid n8n workflow JSON from a plain-English description. Handles webhook/schedule/RSS triggers, common action nodes (Slack, Google Sheets, Discord, Gmail, Notion, HTTP), and AI Agent setups (LangChain root agent + chat model + memory + optional HTTP tool, wired with ai_languageModel / ai_memory / ai_tool connections). Returns workflow JSON with unique node IDs, connections, positions, and typeVersion on every node. Output is non-deterministic (random node IDs and webhook paths).workflow_lintLint an n8n workflow JSON. Returns concrete errors and warnings: missing credentials, deprecated node types (Function -> Code, spreadsheetFile -> convertToFile/extractFromFile), broken connections, missing or non-numeric typeVersion, duplicate node names or IDs, AI Agent missing ai_languageModel sub-node, Webhook missing webhookId, IF node still on v1 condition schema, rate-sensitive nodes without retries, Code-node sandbox violations, expression staleness (`$('NodeName')` referencing missing nodes), manualTrigger in active workflows, disabled-but-wired nodes, empty Set nodes, HTTP method/body mismatches, Schedule trigger DST risk, credential drift, webhook test paths in active workflows. Deterministic, rule-based.workflow_diffSemantic diff between two workflows. Reports nodes added / removed / modified (with field-level deltas: type, typeVersion, parameters, credentials, disabled, position), connection topology changes, and settings drift. Ignores noise (small position deltas, createdAt/updatedAt). Pair with workflow_get to compare deployed vs local. Deterministic.execution_explainDiagnose a failed or surprising n8n execution. Paste the execution JSON (from the n8n UI 'Show details' or `GET /executions/:id?includeData=true`); returns a per-node summary highlighting nodes that returned 0 items, unresolved `={{ ... }}` expressions, errors with hints, and LLM token usage. Hits the most common debugging pain point: items 'silently disappearing' between nodes. Deterministic, rule-based.execution_replayBuild a self-contained replay workflow that exercises a single node from a larger workflow. The replay workflow is Manual Trigger -> Replay Seed (Code node with pinned items) -> target node. Optional `inputItems` or an `execution` payload pins what the target sees. Useful for iterating on one stubborn node without re-running the whole pipeline. Returns workflow JSON ready to import or push via workflow_create.execution_timelineRender an n8n execution as a per-node timeline: start offset, duration, items in/out, error flag. Complements execution_explain — that one surfaces *why*, this surfaces *when*. Output is a markdown table sorted by start time. Deterministic.workflow_listList workflows from a live n8n instance (requires N8N_API_URL + N8N_API_KEY env vars). Returns id, name, active, nodeCount, updatedAt, tags. Filter by active, tags, name. Use this when the user asks 'what workflows do I have?' or before workflow_get.workflow_getFetch a single workflow JSON by id from a live n8n instance (requires N8N_API_URL + N8N_API_KEY). Returns the full nodes/connections payload — pair with workflow_lint to audit a deployed workflow.workflow_createCreate a workflow on a live n8n instance (requires N8N_API_URL + N8N_API_KEY). Strips read-only fields (id, active, createdAt, ...) before posting. Workflows are created inactive — call workflow_activate afterward. Pairs with workflow_generate for end-to-end 'describe -> deploy'.workflow_activateActivate or deactivate a workflow on a live n8n instance (requires N8N_API_URL + N8N_API_KEY). Pass `active: false` to deactivate. Idempotent — re-activating an already-active workflow is a no-op on n8n's side.execution_listList recent executions from a live n8n instance (requires N8N_API_URL + N8N_API_KEY). Filter by workflowId, status (success|error|waiting), limit. Pass `includeData: true` to get the full execution body (large) — pair with execution_explain to diagnose a specific failure.
Repomix tools 23
pack_codebasePackage a local code directory into a consolidated XML file for AI analysisdirectoryAbsolute path to the directory to packcompress(Optional, default: false) Enable Tree-sitter compression to extract essential code signatures and structure while removing implementation details. Reduces token usage by ~70% while preserving semantic meaning. Generally not needed since grep_repomix_output allows incremental content retrieval. Use…includePatterns(Optional) Specify files to include using fast-glob patterns. Multiple patterns can be comma-separated (e.g., "**/*.{js,ts}", "src/**,docs/**"). Only matching files will be processed.ignorePatterns(Optional) Specify additional files to exclude using fast-glob patterns. Multiple patterns can be comma-separated (e.g., "test/**,*.spec.js", "node_modules/**,dist/**"). These patterns supplement .gitignore, .ignore, and built-in exclusions.outputPatterns(Optional) Per-file inclusion levels, mirroring the config-file `output.patterns` option. An array of `{ pattern, compress?, directoryStructureOnly? }` entries; the first matching pattern wins, `directoryStructureOnly` takes precedence over `compress`, and a match with neither flag forces full cont…topFilesLength(Optional, default: 10) Number of largest files by size to display in the metrics summary for codebase analysis.attach_packed_outputAttach an existing Repomix packed output file for AI analysispathPath to a directory containing repomix-output.xml or direct path to a packed repository XML filepack_remote_repositoryFetch, clone, and package a GitHub repository into a consolidated XML file for AI analysisremoteGitHub repository URL or user/repo format (e.g., "yamadashy/repomix", "https://github.com/user/repo", or "https://github.com/user/repo/tree/branch")read_repomix_outputRead the contents of a Repomix-generated output file. Supports partial reading with line range specification for large files.- +11 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
N8n MCP
{
"mcpServers": {
"n8n-mcp": {
"command": "npx",
"args": [
"-y",
"@automatelab/n8n-mcp"
],
"env": {
"N8N_API_URL": "YOUR_N8N_API_URL_HERE",
"N8N_API_KEY": "YOUR_N8N_API_KEY_HERE",
"N8N_MCP_READ_ONLY": "YOUR_N8N_MCP_READ_ONLY_HERE",
"N8N_MCP_DISABLED_TOOLS": "YOUR_N8N_MCP_DISABLED_TOOLS_HERE",
"N8N_MCP_ALLOWED_WORKFLOW_IDS": "YOUR_N8N_MCP_ALLOWED_WORKFLOW_IDS_HERE",
"N8N_MCP_ALLOWED_TAGS": "YOUR_N8N_MCP_ALLOWED_TAGS_HERE"
}
}
}
}
Repomix
{
"mcpServers": {
"repomix": {
"command": "npx",
"args": [
"-y",
"repomix@latest"
]
}
}
}
Frequently asked questions
N8n MCP is categorized under Developer Tools and uses a local stdio subprocess. Repomix belongs to Developer Tools and uses a local stdio subprocess. Pick N8n MCP for developer tools work and Repomix for developer tools.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
N8n MCP has no declared pricing — check the project's own site. Repomix has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add n8n-mcp and repomix as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, N8n MCP has a quality signal of 64/100 (Good) with 2 views, 0 installs and 14 GitHub stars. Repomix has 64/100 (Good) with 3 views, 0 installs and 28,991 GitHub stars.