{
  "markdown": "# n8n MCP Community\n\n[![n8n-mcp-community MCP server](https://glama.ai/mcp/servers/drzamarian/n8n-mcp-community/badges/score.svg)](https://glama.ai/mcp/servers/drzamarian/n8n-mcp-community)\n\n# A security-focused Model Context Protocol server for self-hosted n8n Community Edition\n\nGive your AI client 44 tools for self-hosted n8n Community Edition. Manage\nworkflows, nodes, runs, credentials, tags, users, and diagnostics. No paid n8n\nfeatures. The server makes no external AI calls.\n\n[![Install with npm](https://img.shields.io/badge/Install_with-npm-CB3837?logo=npm&logoColor=white)](#install)\n[![Download MCPB](https://img.shields.io/badge/Download-MCPB-6B4EFF)](https://github.com/drzamarian/n8n-mcp-community/releases/latest)\n[![Read the docs](https://img.shields.io/badge/Read-the_docs-1F6FEB)](docs/README.md)\n\n## Install\n\nYou need Node.js 22 or 24, your n8n URL, and an n8n API key.\n\n### Install\n\n```bash\nnpm install --global n8n-mcp-community@latest\n```\n\n`--global` installs the command once. Use `npx` below if you do not want a\nglobal install.\n\n### Connect\n\n```json\n{\n  \"mcpServers\": {\n    \"n8n-community\": {\n      \"command\": \"n8n-mcp-community\",\n      \"env\": {\n        \"N8N_API_URL\": \"https://n8n.example.com\",\n        \"N8N_API_KEY\": \"replace-with-a-dedicated-api-key\",\n        \"N8N_MCP_MODE\": \"read-only\"\n      }\n    }\n  }\n}\n```\n\nRestart your client. You should see 44 tools, 5 resources, and 4 prompts.\n\nIf the client cannot find the command, run `command -v n8n-mcp-community` on\nmacOS/Linux or `where n8n-mcp-community` on Windows. Put that full path in\n`\"command\"`.\n\nWant no global install? Copy this command into the client configuration shown\nin the full guide:\n\n```bash\nnpx --yes n8n-mcp-community@latest\n```\n\nWant the Claude Desktop app flow? Use the MCPB below. See the full\n[installation guide](docs/installation.md) for updates, rollback, and checks.\n\n### Claude Desktop: install the MCPB (no Node.js needed)\n\n1. Open the [latest GitHub release](https://github.com/drzamarian/n8n-mcp-community/releases/latest).\n2. Download the file that ends in `.mcpb`.\n3. In Claude Desktop, open **Settings → Extensions → Advanced settings →\n   Install Extension…**.\n4. Pick the file. Enter your n8n URL, API key, and mode.\n\n[Anthropic's MCPB guide](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop)\nexplains the same steps. Our [installation guide](docs/installation.md) explains\nhow to check the download.\n\n> Install public builds only from\n> [npm](https://www.npmjs.com/package/n8n-mcp-community) or the\n> [latest GitHub release](https://github.com/drzamarian/n8n-mcp-community/releases/latest).\n\n[![Animated demo showing installation, connection, and a useful local Introspect finding](docs/assets/demo.gif)](docs/demo-transcript.md)\n\n[Read the demo transcript](docs/demo-transcript.md).\n\n## Why this project\n\n- **Community Edition first.** The release surface is designed for self-hosted\n  n8n Community Edition, without presenting paid-only capabilities as available.\n- **44 useful tools, one explicit contract.** Every tool has bounded inputs,\n  documented side effects, MCP safety annotations, and contract tests.\n- **Safe by default.** Read-only mode is the default. You choose when to allow\n  writes or the full tool set.\n- **Deterministic Introspect.** `n8n_introspect` runs a local 23-rule engine;\n  it does not execute workflows, call an agent, or contact an external model.\n- **Surgical node updates.** `n8n_update_node` changes one validated node path\n  while preserving the rest of the workflow and disclosing the Public API's\n  non-atomic limitation.\n- **Truthful discovery.** `n8n_list_node_types` reports only types observed in\n  accessible workflows. It does not claim to be a complete installed catalog.\n- **Data minimization.** Credential values, raw execution values, pin data, and\n  static workflow data are not returned by the generic public tools.\n\n<details>\n<summary><strong>See verification evidence</strong></summary>\n\n## Current verification\n\nThe current source candidate has been verified with:\n\n- exactly **44 tools**, **5 resources**, and **4 prompts** over real stdio;\n- **313 passing tests** locally on Node.js 24.19.0; CI and release gates require\n  the pinned Node.js 22.23.1 and 24.18.0 matrix;\n- zero findings from Gitleaks, Semgrep, Trivy, and both project-root\n  production/full `npm audit` runs; all three source scanners are reproduced in\n  CI, with immutable scanner/action identities;\n- a separate no-override consumer install that resolves the patched\n  `@hono/node-server` 2.x line, requires a zero-finding production audit, and\n  proves the stdio runtime and exact 44/5/4 inventory;\n- a reproducible dependency-license gate covering 224 installed package paths;\n- bounded same-origin HTTP contracts and zero-request policy-denial tests;\n- all 44 compiled tool lifecycles on disposable n8n Community 2.30.5 and 2.30.7\n  instances with egress isolation, revoked keys, cleanup, and zero residue; and\n- a reviewed offline npm-tarball installation under the project's committed\n  dependency policy, plus a byte-reproducible unsigned MCPB with the same\n  compiled runtime and complete production dependency notices.\n\nPublication proceeds only through the reviewed release procedure: the\nrepository-pinned MCPB signing identity, a human artifact-baseline receipt,\ntag-scoped protected-environment approval, and an externally signed MCPB\nhandoff verified byte for byte against the reviewed unsigned candidate.\n\n</details>\n\n## Safety modes\n\n| Mode      | What it allows                                                  | Required configuration               |\n| --------- | --------------------------------------------------------------- | ------------------------------------ |\n| Read-only | Read-only tools only                                            | Default, or `N8N_MCP_MODE=read-only` |\n| Write     | Read-only and ordinary mutation tools                           | `N8N_MCP_MODE=write`                 |\n| Unsafe    | All tools, including destructive or external-contact operations | `N8N_MCP_MODE=unsafe`                |\n\nSelecting unsafe mode is the complete server-side authorization gate for unsafe\ntools. MCP safety annotations remain accurate so compatible clients can apply\ntheir native approval UX, and the n8n API key remains the final upstream\npermission boundary.\n\nPlain HTTP is accepted automatically only for loopback URLs. A non-loopback\nHTTP instance additionally requires `N8N_ALLOW_INSECURE_HTTP=1`, which accepts\nthe risk of exposing the API key and data in transit.\n\n## Tool catalog\n\nEvery entry links to its complete input, output, endpoint, compatibility,\nfailure, and security reference.\n\n### Workflows\n\n| Tool                                                                   | Mode      | Purpose                                                                |\n| ---------------------------------------------------------------------- | --------- | ---------------------------------------------------------------------- |\n| [`n8n_workflows_list`](docs/tools.md#n8n_workflows_list)               | Read-only | List accessible workflows with bounded filters and pagination.         |\n| [`n8n_workflows_get`](docs/tools.md#n8n_workflows_get)                 | Read-only | Read one workflow while withholding pin and static data values.        |\n| [`n8n_workflows_create`](docs/tools.md#n8n_workflows_create)           | Write     | Create a validated workflow through the Public API.                    |\n| [`n8n_workflows_update`](docs/tools.md#n8n_workflows_update)           | Write     | Guard and update selected fields while preserving omitted fields.      |\n| [`n8n_update_node`](docs/tools.md#n8n_update_node)                     | Write     | Change one validated node property with non-atomic concurrency guards. |\n| [`n8n_workflows_delete`](docs/tools.md#n8n_workflows_delete)           | Unsafe    | Permanently delete one workflow.                                       |\n| [`n8n_workflows_activate`](docs/tools.md#n8n_workflows_activate)       | Unsafe    | Activate one workflow.                                                 |\n| [`n8n_workflows_deactivate`](docs/tools.md#n8n_workflows_deactivate)   | Unsafe    | Deactivate one workflow.                                               |\n| [`n8n_workflows_get_version`](docs/tools.md#n8n_workflows_get_version) | Read-only | Retrieve one retained historical workflow version.                     |\n| [`n8n_workflows_get_tags`](docs/tools.md#n8n_workflows_get_tags)       | Read-only | List tags assigned to a workflow.                                      |\n| [`n8n_workflows_update_tags`](docs/tools.md#n8n_workflows_update_tags) | Write     | Replace a workflow's complete tag assignment.                          |\n| [`n8n_workflows_archive`](docs/tools.md#n8n_workflows_archive)         | Unsafe    | Archive one workflow.                                                  |\n| [`n8n_workflows_unarchive`](docs/tools.md#n8n_workflows_unarchive)     | Unsafe    | Restore one archived workflow.                                         |\n| [`n8n_workflows_diff`](docs/tools.md#n8n_workflows_diff)               | Read-only | Compare nodes and connections without returning raw values.            |\n\n### Executions\n\n| Tool                                                           | Mode      | Purpose                                                              |\n| -------------------------------------------------------------- | --------- | -------------------------------------------------------------------- |\n| [`n8n_executions_list`](docs/tools.md#n8n_executions_list)     | Read-only | List execution metadata with value-free data-presence summaries.     |\n| [`n8n_executions_get`](docs/tools.md#n8n_executions_get)       | Read-only | Read one execution's metadata without returning workflow payloads.   |\n| [`n8n_executions_delete`](docs/tools.md#n8n_executions_delete) | Unsafe    | Permanently delete a saved execution.                                |\n| [`n8n_executions_retry`](docs/tools.md#n8n_executions_retry)   | Unsafe    | Retry an eligible saved execution.                                   |\n| [`n8n_executions_stop`](docs/tools.md#n8n_executions_stop)     | Unsafe    | Stop one stoppable execution and bind identity from validated input. |\n\n### Credentials\n\n| Tool                                                             | Mode      | Purpose                                                                |\n| ---------------------------------------------------------------- | --------- | ---------------------------------------------------------------------- |\n| [`n8n_credentials_create`](docs/tools.md#n8n_credentials_create) | Write     | Create a credential without returning its values.                      |\n| [`n8n_credentials_delete`](docs/tools.md#n8n_credentials_delete) | Unsafe    | Permanently delete one credential.                                     |\n| [`n8n_credentials_schema`](docs/tools.md#n8n_credentials_schema) | Read-only | Read the public schema for a credential type.                          |\n| [`n8n_credentials_list`](docs/tools.md#n8n_credentials_list)     | Read-only | List credential metadata verified on n8n 2.30.5 and 2.30.7.            |\n| [`n8n_credentials_get`](docs/tools.md#n8n_credentials_get)       | Read-only | Read one credential's public metadata.                                 |\n| [`n8n_credentials_update`](docs/tools.md#n8n_credentials_update) | Write     | Update credential metadata or values without echoing secrets.          |\n| [`n8n_credentials_test`](docs/tools.md#n8n_credentials_test)     | Unsafe    | Test a stored credential, potentially contacting its external service. |\n| [`n8n_credentials_usage`](docs/tools.md#n8n_credentials_usage)   | Read-only | Find exact credential-ID references in one bounded workflow page.      |\n\n### Tags\n\n| Tool                                               | Mode      | Purpose                                          |\n| -------------------------------------------------- | --------- | ------------------------------------------------ |\n| [`n8n_tags_list`](docs/tools.md#n8n_tags_list)     | Read-only | List workflow tags.                              |\n| [`n8n_tags_get`](docs/tools.md#n8n_tags_get)       | Read-only | Read one tag.                                    |\n| [`n8n_tags_create`](docs/tools.md#n8n_tags_create) | Write     | Create a tag with the live 1–24 character bound. |\n| [`n8n_tags_update`](docs/tools.md#n8n_tags_update) | Write     | Rename a tag with the live 1–24 character bound. |\n| [`n8n_tags_delete`](docs/tools.md#n8n_tags_delete) | Unsafe    | Permanently delete one tag.                      |\n\n### Users\n\n| Tool                                                 | Mode      | Purpose                                                           |\n| ---------------------------------------------------- | --------- | ----------------------------------------------------------------- |\n| [`n8n_users_list`](docs/tools.md#n8n_users_list)     | Read-only | List users visible to the API key.                                |\n| [`n8n_users_get`](docs/tools.md#n8n_users_get)       | Read-only | Read one user by stable ID or exact email.                        |\n| [`n8n_users_create`](docs/tools.md#n8n_users_create) | Unsafe    | Invite a member or admin.                                         |\n| [`n8n_users_delete`](docs/tools.md#n8n_users_delete) | Unsafe    | Delete one API-eligible user without unsupported transfer claims. |\n\n### Diagnostics and instance metadata\n\n| Tool                                                                       | Mode      | Purpose                                                             |\n| -------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------- |\n| [`n8n_health`](docs/tools.md#n8n_health)                                   | Read-only | Perform a bounded same-origin health check.                         |\n| [`n8n_insights_summary`](docs/tools.md#n8n_insights_summary)               | Read-only | Read the official insights summary with optional date filters.      |\n| [`n8n_audit_generate`](docs/tools.md#n8n_audit_generate)                   | Unsafe    | Generate n8n's instance security audit.                             |\n| [`n8n_search_workflows`](docs/tools.md#n8n_search_workflows)               | Read-only | Search one workflow page locally by name, node type, or tag.        |\n| [`n8n_get_node_docs`](docs/tools.md#n8n_get_node_docs)                     | Read-only | Read one of four immutable offline core-node references.            |\n| [`n8n_list_node_types`](docs/tools.md#n8n_list_node_types)                 | Read-only | Inventory node types observed in bounded accessible workflow pages. |\n| [`n8n_introspect`](docs/tools.md#n8n_introspect)                           | Read-only | Run deterministic local workflow and execution diagnostics.         |\n| [`n8n_community_packages_list`](docs/tools.md#n8n_community_packages_list) | Read-only | List installed community-package metadata without mutation paths.   |\n\n## Resources and prompts\n\nThe server also exposes five static resources:\n\n- `n8n://usage-guide`\n- `n8n://node-docs/webhook`\n- `n8n://node-docs/code`\n- `n8n://node-docs/http-request`\n- `n8n://node-docs/if`\n\nFour prompts guide safe workflow creation, debugging, optimization, and\ncredential management: `create-workflow`, `debug-workflow`,\n`optimize-workflow`, and `manage-credentials`.\n\n## Security model in one minute\n\n- The server uses local stdio; it does not expose an inbound HTTP listener.\n- Connected requests are same-origin and limited to the configured n8n host.\n- Redirects are rejected; request and response bodies are bounded to 2 MiB.\n- Generic output is validated, sanitized, bounded to 256 KiB, and wrapped as\n  `{ \"data\": ..., \"redacted\": boolean, \"untrusted\": true }`.\n- Raw credential values and generic execution payload values are never returned.\n- `n8n_introspect` uses fixed local rules and has no external-model code path.\n- Security controls reduce risk; they do not make untrusted n8n content safe to\n  execute or authorize broader API-key permissions.\n\nRead the complete [security model](docs/security-model.md) and use\n[SECURITY.md](SECURITY.md) to report a vulnerability privately.\n\n## Documentation\n\n- [Documentation map](docs/README.md)\n- [Getting started](docs/getting-started.md)\n- [Installation and upgrades](docs/installation.md)\n- [Configuration](docs/configuration.md)\n- [Complete tool reference](docs/tools.md)\n- [Tested examples](docs/examples.md)\n- [FAQ](docs/faq.md)\n- [Client configuration](docs/clients.md)\n- [Architecture](docs/architecture.md)\n- [Security model](docs/security-model.md)\n- [Compatibility](docs/compatibility.md)\n- [Troubleshooting](docs/troubleshooting.md)\n- [Provenance](docs/provenance.md)\n- [Roadmap](ROADMAP.md)\n- [Changelog](CHANGELOG.md)\n\n## Development\n\n```bash\nnpm ci\nnpm run verify:contributor\nnpm run sbom > sbom.cdx.json\n```\n\n`npm run verify:contributor` runs the complete keyless contributor gate,\nincluding formatting, dependency licenses/notices, strict TypeScript, all\ntests, the compiled runtime, and documentation inventory parity.\nSee [CONTRIBUTING.md](CONTRIBUTING.md) before opening a change.\n\n## Scope and non-affiliation\n\nThis project is not affiliated with, endorsed by, or sponsored by n8n GmbH.\n“n8n” is used only to identify compatibility with the n8n product and Public\nAPI. The project does not redistribute the `n8n-nodes-base` catalog and does not\nuse browser cookies, interactive session routes, or runtime package downloads to\nconstruct one.\n\nThe v0.3.0 candidate surface intentionally excludes arbitrary workflow execution,\ncredential/workflow transfer, folders, data tables, beta evaluation endpoints,\nand execution annotations. See the [roadmap](ROADMAP.md) for the annotation\nproposal retained outside the release target.\n\n## License and maintainer\n\nThe project is released under the [MIT License](LICENSE). Third-party\ndependencies retain their own licenses.\n\nCreated and maintained by\n[Dr. Walter Zamarian Jr.](https://www.walterzamarianjr.com/).\n",
  "bytes": 18297,
  "sha": "eee555862361797cb9f246f4d6d0476e8b3d86438765fd107be9884fcda5ddb9",
  "repo_slug": "drzamarian/n8n-mcp-community",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_drzamarian_n8n_mcp_community_3f940267/readme"
}