Are you the author? Sign in to claim
Security-focused MCP server for self-hosted n8n Community Edition: 44 bounded tools, read-only by default, deterministic
A security-focused Model Context Protocol server for self-hosted n8n Community Edition.
Connect an MCP client to a bounded 44-tool n8n Community Edition management surface: create, edit,
activate, and delete workflows, update individual nodes surgically, and manage
executions, credentials, tags, users, diagnostics, and instance metadata — 44
carefully bounded tools in total. Safety here is progressive, not
restrictive: the server defaults to read-only, write unlocks authoring,
and unsafe unlocks every tool with an exact per-call confirmation phrase for
each destructive operation. It starts offline, uses the supported n8n Public
API, and never sends workflow data to an external AI provider.
Release evidence: install only a version that appears consistently on npm, the latest GitHub release, and the MCP Registry entry
io.github.drzamarian/n8n-mcp-community. A version in the source tree remains a candidate until those external readbacks agree. See Installation.
Read the synthetic terminal demo transcript. It shows the exact-version startup, 44-tool inventory, and local Introspect diagnostics using only synthetic identifiers and documented output shapes.
n8n_introspect runs a local 23-rule engine;
it does not execute workflows, call an agent, or contact an external model.n8n_update_node changes one validated node path
while preserving the rest of the workflow and disclosing the Public API's
non-atomic limitation.n8n_list_node_types reports only types observed in
accessible workflows. It does not claim to be a complete installed catalog.The current source candidate has been verified with:
npm audit runs; all three source scanners are reproduced in
CI, with immutable scanner/action identities;@hono/node-server@1.19.15 backport, accepts only an exact
GHSA-frvp-7c67-39w9 advisory or a fully clean advisory readback while registry
metadata converges, and proves the stdio runtime and exact 44/5/4 inventory;Publication proceeds only through the reviewed release procedure: the repository-pinned MCPB signing identity, a human artifact-baseline receipt, tag-scoped protected-environment approval, and an externally signed MCPB handoff verified byte for byte against the reviewed unsigned candidate.
Requirements: Node.js 22 or 24, npm, a self-hosted n8n Community Edition instance, and an n8n Public API key with only the permissions you need.
First identify a version whose npm provenance and GitHub release assets you have
verified, then replace <VERIFIED_VERSION> below. Keep the pin exact:
{
"mcpServers": {
"n8n-community": {
"command": "npx",
"args": ["--yes", "n8n-mcp-community@<VERIFIED_VERSION>"],
"env": {
"N8N_API_URL": "https://n8n.example.com",
"N8N_API_KEY": "replace-with-a-dedicated-api-key",
"N8N_MCP_MODE": "read-only"
}
}
}
}
read-only is the recommended starting point, not a capability ceiling: the
same 44-tool surface includes full workflow authoring. Set
N8N_MCP_MODE=write to create and edit workflows, nodes, credentials, and
tags, or N8N_MCP_MODE=unsafe to enable every tool — activation, deletion,
retries, and the other destructive operations, each still guarded by an exact
per-call confirmation phrase. See Safety modes.
Restart the MCP client and confirm exactly 44 tools, 5 resources, and 4
prompts. Compatible desktop clients can instead install the signed MCPB from
the latest verified release;
verify its checksum against the release SHA256SUMS first.
Requirements: Node.js 22 or 24, npm, and a Git checkout of this repository.
npm ci
npm run verify:contributor
Configure your MCP client to run the compiled stdio entry point:
{
"mcpServers": {
"n8n-community": {
"command": "node",
"args": ["/absolute/path/to/n8n-mcp-community/dist/index.js"],
"env": {
"N8N_API_URL": "https://n8n.example.com",
"N8N_API_KEY": "replace-with-your-api-key",
"N8N_MCP_MODE": "read-only"
}
}
}
}
Restart the MCP client and list tools. The server can initialize and expose its inventory without n8n credentials; connected tools validate the URL and API key only when called.
Verified releases provide both a signed MCPB for compatible clients and
exact-version npx configuration for portability. @latest, global installs,
and curl | shell are not reproducible defaults. See
Installation for the release policy and client-specific
guidance.
| Mode | What it allows | Required configuration |
|---|---|---|
| Read-only | Read-only tools only | Default, or N8N_MCP_MODE=read-only |
| Write | Read-only and mutation tools without the unsafe confirmation gate | N8N_MCP_MODE=write |
| Unsafe | All tools | N8N_MCP_MODE=unsafe plus the exact per-call confirmation |
Unsafe mode is necessary but not sufficient. Every unsafe call also requires a
confirmation such as DELETE wf_123, STOP exec_123, or TEST cred_123.
The n8n API key remains the final upstream permission boundary.
Plain HTTP is accepted automatically only for loopback URLs. A non-loopback
HTTP instance additionally requires N8N_ALLOW_INSECURE_HTTP=1, which accepts
the risk of exposing the API key and data in transit.
Every entry links to its complete input, output, endpoint, compatibility, failure, and security reference.
| Tool | Mode | Purpose |
|---|---|---|
n8n_workflows_list | Read-only | List accessible workflows with bounded filters and pagination. |
n8n_workflows_get | Read-only | Read one workflow while withholding pin and static data values. |
n8n_workflows_create | Write | Create a validated workflow through the Public API. |
n8n_workflows_update | Write | Guard and update selected fields while preserving omitted fields. |
n8n_update_node | Write | Change one validated node property with non-atomic concurrency guards. |
n8n_workflows_delete | Unsafe | Permanently delete one workflow after exact confirmation. |
n8n_workflows_activate | Unsafe | Activate one workflow after exact confirmation. |
n8n_workflows_deactivate | Unsafe | Deactivate one workflow after exact confirmation. |
n8n_workflows_get_version | Read-only | Retrieve one retained historical workflow version. |
n8n_workflows_get_tags | Read-only | List tags assigned to a workflow. |
n8n_workflows_update_tags | Write | Replace a workflow's complete tag assignment. |
n8n_workflows_archive | Unsafe | Archive one workflow after exact confirmation. |
n8n_workflows_unarchive | Unsafe | Restore one archived workflow after exact confirmation. |
n8n_workflows_diff | Read-only | Compare nodes and connections without returning raw values. |
| Tool | Mode | Purpose |
|---|---|---|
n8n_executions_list | Read-only | List execution metadata with value-free data-presence summaries. |
n8n_executions_get | Read-only | Read one execution's metadata without returning workflow payloads. |
n8n_executions_delete | Unsafe | Permanently delete a saved execution. |
n8n_executions_retry | Unsafe | Retry an eligible saved execution. |
n8n_executions_stop | Unsafe | Stop one running execution and bind identity from validated input. |
| Tool | Mode | Purpose |
|---|---|---|
n8n_credentials_create | Write | Create a credential without returning its values. |
n8n_credentials_delete | Unsafe | Permanently delete one credential. |
n8n_credentials_schema | Read-only | Read the public schema for a credential type. |
n8n_credentials_list | Read-only | List credential metadata verified on n8n 2.30.5 and 2.30.7. |
n8n_credentials_get | Read-only | Read one credential's public metadata. |
n8n_credentials_update | Write | Update credential metadata or values without echoing secrets. |
n8n_credentials_test | Unsafe | Test a stored credential, potentially contacting its external service. |
n8n_credentials_usage | Read-only | Find exact credential-ID references in one bounded workflow page. |
| Tool | Mode | Purpose |
|---|---|---|
n8n_tags_list | Read-only | List workflow tags. |
n8n_tags_get | Read-only | Read one tag. |
n8n_tags_create | Write | Create a tag with the live 1–24 character bound. |
n8n_tags_update | Write | Rename a tag with the live 1–24 character bound. |
n8n_tags_delete | Unsafe | Permanently delete one tag. |
| Tool | Mode | Purpose |
|---|---|---|
n8n_users_list | Read-only | List users visible to the API key. |
n8n_users_get | Read-only | Read one user by stable ID or exact email. |
n8n_users_create | Unsafe | Invite a member or admin after exact email confirmation. |
n8n_users_delete | Unsafe | Delete one API-eligible user without unsupported transfer claims. |
| Tool | Mode | Purpose |
|---|---|---|
n8n_health | Read-only | Perform a bounded same-origin health check. |
n8n_insights_summary | Read-only | Read the official insights summary with optional date filters. |
n8n_audit_generate | Unsafe | Generate n8n's instance security audit after exact confirmation. |
n8n_search_workflows | Read-only | Search one workflow page locally by name, node type, or tag. |
n8n_get_node_docs | Read-only | Read one of four immutable offline core-node references. |
n8n_list_node_types | Read-only | Inventory node types observed in bounded accessible workflow pages. |
n8n_introspect | Read-only | Run deterministic local workflow and execution diagnostics. |
n8n_community_packages_list | Read-only | List installed community-package metadata without mutation paths. |
The server also exposes five static resources:
n8n://usage-guiden8n://node-docs/webhookn8n://node-docs/coden8n://node-docs/http-requestn8n://node-docs/ifFour prompts guide safe workflow creation, debugging, optimization, and
credential management: create-workflow, debug-workflow,
optimize-workflow, and manage-credentials.
{ "data": ..., "redacted": boolean, "untrusted": true }.n8n_introspect uses fixed local rules and has no external-model code path.Read the complete security model and use SECURITY.md to report a vulnerability privately.
npm ci
npm run verify:contributor
npm run sbom > sbom.cdx.json
npm run verify:contributor runs the complete keyless contributor gate,
including formatting, dependency licenses/notices, strict TypeScript, all
tests, the compiled runtime, and documentation inventory parity.
See CONTRIBUTING.md before opening a change.
This project is not affiliated with, endorsed by, or sponsored by n8n GmbH.
“n8n” is used only to identify compatibility with the n8n product and Public
API. The project does not redistribute the n8n-nodes-base catalog and does not
use browser cookies, interactive session routes, or runtime package downloads to
construct one.
The v0.1.2 candidate surface intentionally excludes arbitrary workflow execution, credential/workflow transfer, folders, data tables, beta evaluation endpoints, and execution annotations. See the roadmap for the annotation proposal retained outside the release target.
The project is released under the MIT License. Third-party dependencies retain their own licenses.
Created and maintained by Dr. Walter Zamarian Jr..
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows