n8n Manager MCP

io.github.ellmos-ai由 GitHub 账号 ellmos-ai 发布v0.1.21更新于 Nov 1, 2026

MCP server for n8n workflow management -- view, create, sync and manage workflows via AI.

已验证STDIO仅桌面效率与工作流开发者工具

概览

AI 生成的概览

本地 MCP 服务器,让助手在已配置的 n8n 服务器上列出、创建、更新、删除、启用工作流并做备份。

可以做什么
  • 列出、查看、创建、更新、删除以及启用或停用 n8n 工作流
  • 在不同 n8n 实例之间导出和导入工作流 JSON
  • 查看最近的执行记录,包括状态、耗时和错误
  • 管理 n8n 服务器配置:添加、列出、测试连接和移除
  • 配置安全设置,查看本地备份与审计状态
  • 从本地备份恢复工作流,并浏览离线节点类型目录
适用场景
适合已在使用 n8n、希望让助手代为搭建或修改自动化工作流、查看执行结果,或在多个 n8n 实例之间同步工作流的场景。
运行要求
通过 npx(Node.js)以 stdio 在本地运行。需要一个可访问的 n8n 实例,并在添加服务器配置前通过主机环境变量 N8N_MANAGER_API_KEY 和 N8N_MANAGER_SERVER_URL 提供 API 密钥。可选的历史记录工具需要 N8N_MCP_MANAGER_URL。需要能访问所配置的 n8n 地址。
安装前请注意
工作流工具会在目标 n8n 实例上写入、删除和启用自动化;导入会新建工作流且没有导入前备份。API 密钥以明文保存在本地 servers.json 配置中,远程服务器应使用 HTTPS,并避免在提示中暴露密钥。备份和审计日志为本地明文,日志不可防篡改。可用 N8N_MANAGER_READ_ONLY 强制只读。

安装

在 SourceWeft 中

  1. 打开 控制台中的 n8n Manager MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[n8n Manager MCP Server Banner]

n8n Manager MCP Server

🇬🇧 English | 🇩🇪 Deutsch | 🇪🇸 Español | 🇯🇵 日本語 | 🇷🇺 Русский | 🇫🇷 Français | 🇨🇳 简体中文 | 🇮🇳 हिन्दी | العربية | বাংলা | Português

Part of the ellmos-ai family and the open-bricks umbrella.

[npm] [Tests] [MCP Tools] [Node.js] [Safety] [Security] [Third-Party] [Dependency Inventory: Plain Text] [Attribution: NOTICE] [Verified] [Last-Checked] [License: MIT] [LLM Ready] [Ecosystem: ellmos--ai] [Umbrella: open--bricks]

[!NOTE] For AI Assistants & LLMs: An llms.txt index file is available in the root directory for fast context ingestion, tool catalog references, and directory listings.

MCP (Model Context Protocol) server for managing n8n workflows via AI assistants like Claude, Cursor, and Windsurf.

Quick Navigation

NrSectionHighlights
01📐 System Architecture & Topology (#system-architecture)Local stdio transport, multi-server routing, and safety middleware
02📊 Dual Mermaid Diagrams (#dual-mermaid-diagrams)Component Architecture flowchart TD & Safe Mutation Lifecycle sequence diagram
03🌐 Directory Status & Registries (#directory-status)Official listings on npm, Glama, PulseMCP, and Enterprise DNA
04🎯 Target Personas & Discoverability (#target-personas--discoverability)Persona mapping [PERSONA-01] to [PERSONA-04] and High-Intent SEO queries
05📋 Project Capabilities & Boundaries (#comparative-matrix--alternatives)10 implementation areas and their documented limits
06🛡️ Capabilities & Implementation Boundaries (#core-capabilities--safety-invariants)Read-only mode, optional local backups and audit logging, input checks, and scope notes
07✨ Key Features (#features)Direct REST integration, multi-server routing, backup snapshots, node catalog
08⚙️ Client Installation (#installation)One-command setup for Claude Code, Claude Desktop, Cursor, and Windsurf
09🚀 Quick Start (#quick-start)Step-by-step workflow creation, execution inspection, and server switching
10🛠️ Available Tools (19 Tools) (#available-tools)Complete MCP tool reference across CRUD, executions, backups, and nodes
11🔗 Optional: n8n-workflow-manager Seam (#optional-n8n-workflow-manager-seam)Decision tracking and change history integration with paired manager service
12🔒 Configuration & Safety Defaults (#configuration)Environment variables, local backup root, and strict monotonic constraints
13🧪 Development & Testing (#development)Test suite, smoke runner, and current CI platform scope
14🧱 ellmos-ai Ecosystem (#ellmos-ai-ecosystem)Sibling MCP servers, BACH agent OS, and open-bricks desktop software suites
15📜 Third-Party Licenses & Transparency (#third-party-licenses--transparency)Project license and dependency license inventory
16📈 Marketing & Personas Log (#marketing--personas-log)Comprehensive positioning log, keyword matrix, and 3-phase roadmap
17📝 Changelog (#changelog)Complete release notes, security hardenings, and discoverability history
18⚖️ Liability / Haftung (#haftung--liability)Statutory open-source donation notice under §§ 516 ff. BGB, MIT disclaimer, 48h SLA

System Architecture

The n8n Manager MCP Server operates as a local-first, stdio-connected bridge between AI development environments (Claude Code, Claude Desktop, Cursor, Windsurf) and local or remote n8n instances.

  • Process Model: Runs as a Node.js process communicating with its MCP client over standard input/output (stdio) using JSON-RPC 2.0. It inherits the privileges of the process that launches it.
  • Mutation Checks: Workflow mutation handlers load local configuration and check read-only mode before making an n8n mutation request. A blocked attempt can still append to the local audit log; configuration loading also uses the filesystem.
  • Multi-Instance Router: Routes calls to configured n8n instances using local server profiles. API keys in servers.json are plaintext; config updates use a temporary file and rename.
  • Offline Node Catalog: Lists common n8n node types and short descriptions by category (n8n_describe_nodes) without a network call. It does not expose full node schemas or required properties.

Architectural Topology Projection (4-View Model)

text
+========================================================================================================+| [VIEW 1: CALLER RUNTIMES & AGENT ECOSYSTEM]                                                           || Claude Code CLI      | Claude Desktop      | Cursor IDE / Windsurf | Antigravity / Gemini / Codex     || (JSON-RPC 2.0 Stdio) | (stdio MCP Client)  | (Dev Environments)    | (Autonomous Orchestrator Swarms) |+===================================================+====================================================+                                                    |                                                    v+========================================================================================================+| [VIEW 2: N8N-MANAGER-MCP CORE ENGINE & MUTATION CHECKS]                                                 || +----------------------------------------------------------------------------------------------------+ || | Tool Dispatcher (19 Registered MCP Tools: CRUD, Execution Inspect, Backup/Restore, Node Catalog)   | || +----------------------------------------------------------------------------------------------------+ || | Read-Only Check: persisted setting or N8N_MANAGER_READ_ONLY=1 process ceiling                       | || | Input Bounds and Backup-Path Checks (scope limited to the implemented handlers)                     | || | Multi-Instance Routing: configured profiles and endpoints                                           | || | Bundled Offline Node Catalog: Common Node Types & Descriptions (INV-NODE-09)                         | || +----------------------------------------------------------------------------------------------------+ |+===================================================+====================================================+                                                    |                                                    v+========================================================================================================+| [VIEW 3: RUNTIME PERSISTENCE, BACKUP SNAPSHOTS & LOCAL AUDIT LOG]                                      || +------------------------------------+----------------------------------+----------------------------+ || | Conditional Workflow Snapshots    | Local Append-Only Audit Log     | Multi-Server Config Store  | || | ~/.n8n-manager-mcp/backups/        | ~/.n8n-manager-mcp/audit.log     | ~/.n8n-manager-mcp/        | || | ({server}/{id}-{timestamp}-{reason}.json) | (Timestamped JSON entries) | (servers.json; POSIX 0600 requested) | || +------------------------------------+----------------------------------+----------------------------+ |+===================================================+====================================================+                                                    |                                                    v+========================================================================================================+| [VIEW 4: STDIO TRANSPORT, CONFIGURED ENDPOINTS & LAUNCHER PRIVILEGES]                                  || Inherits launcher process privileges | Configured n8n/manager requests; interactive update check may run || No MCP listening port (stdio transport)                    | Published security policy and reporting contacts   |+========================================================================================================+

Dual Mermaid Diagrams

Component Architecture

mermaid
flowchart TD    Client["AI Client (Claude Code / Desktop / Cursor / Windsurf)"] -->|"MCP Stdio Protocol (JSON-RPC 2.0)"| Router["Tool Router (19 Tools)"]    subgraph MCPServer["n8n Manager MCP Server (Local Stdio Process)"]        Router --> Safety["Mutation Checks (Read-Only Gate & Backup-Path Checks)"]        Safety --> Backup["Conditional Pre-Mutation Snapshot"]        Safety --> MultiServer["Multi-Server Manager"]        Safety --> Catalog["Offline Node Catalog (n8n_describe_nodes)"]        Router --> Audit["Local Audit Append"]    end    MultiServer -->|"REST API (API Key / Auth Header)"| LocalInst["Configured n8n Instance (local or remote URL)"]    MultiServer -->|"REST API (HTTPS / Token)"| CloudInst["Remote / Cloud n8n Instance"]    Backup --> BackupFS[("Backups (~/.n8n-manager-mcp/backups/)")]    Audit --> AuditFS[("Audit Log (~/.n8n-manager-mcp/audit.log)")]

Safe Workflow Mutation Lifecycle

These diagrams show the intended operation order. Snapshots are attempted only when backup_before_mutations is enabled (default: true); if that attempt fails, the following n8n mutation request is not sent. Audit append errors propagate and can follow a successful remote mutation.

mermaid
sequenceDiagram    autonumber    actor AI as AI Assistant (Claude / Cursor)    participant MCP as n8n-manager-mcp Router    participant Safety as Safety & Read-Only Gate    participant Snapshot as Backup Engine    participant Store as Local Storage (~/.n8n-manager-mcp)    participant N8N as n8n REST API Instance    participant Audit as Local Audit Logger
    AI->>MCP: Call n8n_update_workflow or n8n_delete_workflow    MCP->>Safety: Check read-only enforcement    alt Read-only active (INV-READ-02)        opt audit_log enabled (default true)            Safety->>Audit: Append blocked mutation attempt        end        Safety-->>AI: Return text explaining that the mutation is blocked (or an error if audit append fails)    else Mutation permitted        opt backup_before_mutations enabled (default true)            Safety->>Snapshot: Trigger pre-mutation snapshot (INV-BACK-03)            Snapshot->>N8N: GET /workflows/{id}            N8N-->>Snapshot: Current workflow JSON            Snapshot->>Store: Save ~/.n8n-manager-mcp/backups/{server}/{id}-{timestamp}-{reason}.json            Snapshot-->>Safety: Backup path        end        Safety->>N8N: PUT /workflows/{id} or DELETE /workflows/{id}        N8N-->>Safety: Mutation result        opt audit_log enabled (default true)            Safety->>Audit: Append structured outcome to audit log (INV-AUDIT-04)        end        Safety-->>AI: Return text; include backup path when a backup was saved    end

Multi-Server Workflow Migration & Staging Synchronization Lifecycle

The import step creates a new workflow. It does not create a pre-import backup or return a rollback handle.

mermaid
sequenceDiagram    autonumber    actor AI as AI Assistant (Claude / Cursor)    participant MCP as n8n-manager-mcp Router    participant Staging as Staging n8n Instance    participant Prod as Production n8n Instance    participant Audit as Local Audit Logger
    Note over AI,MCP: Phase 1: Export from staging    AI->>MCP: n8n_export_workflow(workflow_id=42, server_name=staging)    MCP->>Staging: GET /workflows/42    Staging-->>MCP: Workflow JSON    MCP-->>AI: Cleaned workflow JSON as text
    Note over AI,MCP: Phase 2: Offline node-type catalog    AI->>MCP: n8n_describe_nodes(category=action)    MCP-->>AI: Text list of node types and descriptions
    Note over AI,MCP: Phase 3: Import a new inactive copy    AI->>MCP: n8n_import_workflow(workflow_json=serialized export, server_name=production, activate=false)    MCP->>Prod: POST /workflows    Prod-->>MCP: Created workflow JSON with a new ID; inactive    opt audit_log enabled (default true)        MCP->>Audit: Append import outcome (INV-AUDIT-04)    end    MCP-->>AI: Text response with the new workflow ID; no rollback handle

Directory Status

  • npm package: published as n8n-manager-mcp
  • Glama listing: public directory page for the ellmos-ai repo
  • Enterprise DNA directory: additional public directory entry for ellmos-ai/n8n-manager-mcp
  • PulseMCP listing: indexed as ellmos-ai-n8n-manager
  • MCP namespace status: this repo contains server.json and mcpName metadata for io.github.ellmos-ai/n8n-manager-mcp; some ecosystem directories still expose the legacy io.github.lukisch/n8n-manager-mcp name until their indexes refresh.
  • Search context: best matched by n8n MCP server, n8n workflow management MCP, AI assistant n8n workflows, and ellmos-ai n8n-manager-mcp.

Target Personas & Discoverability

PersonaTypical needsExample task and boundaryTarget discovery terms
[PERSONA-01] Autonomous AI Agents & SwarmsMCP workflow tools, clear operation results, and an offline list of common node namesInspect or manage a workflow on a selected server; a backup precedes supported mutations only when backups are enabled.n8n mcp server, ai agent n8n workflow management, claude code n8n automation
[PERSONA-02] DevOps & Multi-Environment EngineersSeparate profiles and workflow export/import across configured n8n instancesMove a workflow between configured servers; import creates a new workflow and does not create a pre-import backup.n8n multi-server mcp, sync n8n workflows staging prod, n8n workflow export import mcp
[PERSONA-03] SecOps, Compliance & Risk TeamsRead-only controls, optional local audit logging, and local backup filesConfigure a read-only ceiling or inspect local records; configured n8n/manager endpoints still receive requests, and local files may contain workflow data or API keys.safe n8n mcp server, read-only n8n automation, audit log n8n ai integration
[PERSONA-04] Ecosystem Builders & Tool IntegratorsMCP tool schemas, manifests, TypeScript source, and test/smoke commandsIntegrate the registered tools and validate changes with the repository test and smoke commands; CI currently runs on Ubuntu.modelcontextprotocol n8n, glama n8n-manager-mcp, smithery n8n workflow

High-Intent Search Queries

  • n8n mcp server claude code
  • ai assistant n8n workflow management
  • local-first n8n mcp stdio
  • safe n8n automated workflow mutation
  • n8n multi-server workflow sync mcp
  • n8n describe nodes offline catalog
  • n8n MCP stdio with configured server endpoints
  • modelcontextprotocol n8n typescript

Project Capabilities & Boundaries

AreaImplemented behaviorScope and boundary
MCP transport and networkThe server communicates with its MCP client over stdio and opens no MCP listening port.Runtime API requests go to configured n8n URLs and, when configured, the manager URL. The update notifier may check for updates during an interactive TTY start; the regular non-TTY stdio path skips that check.
Workflow tools19 MCP tools list, create, update, delete, activate/deactivate, export/import workflows, inspect executions, and manage backups and servers.Mutations act on the selected configured n8n instance. Import creates a new workflow and has no pre-import backup or rollback handle.
Server profilesMultiple n8n profiles are stored locally in servers.json; URL and API-key inputs are validated.API keys are stored as plaintext. New config files request POSIX mode 0600; Windows access follows directory ACLs.
Read-only modePersisted read-only mode blocks workflow mutation tools. N8N_MANAGER_READ_ONLY=1 adds a process-level ceiling that the tool cannot turn off.Configuration is loaded before the mutation gate. A blocked attempt may append to the local audit log, so this is not a filesystem read-only mode.
Pre-mutation backupsWhen enabled (default: true), JSON snapshots precede update, delete, activate/deactivate, and overwrite-restore operations.Create and import do not get a pre-mutation snapshot. If an enabled snapshot fetch or save fails, the following n8n mutation request is not sent. Backup JSON is local plaintext.
Audit logConfigurable local JSON append log, enabled by default, records supported operation outcomes and blocked mutation attempts.It is not tamper-proof. Append errors propagate; an error can occur after an upstream mutation has already succeeded.
Input and backup pathsNumeric fields have explicit bounds; backup path segments are sanitized and real-path/symlink checks are used by backup, listing, and restore operations.These checks are scoped to those inputs and file operations. They do not establish immunity to all traversal, prototype-pollution, or malformed-payload failures.
Optional manager historyn8n_manager_history reads from the configured manager when N8N_MCP_MANAGER_URL is set and does not fall back to a direct n8n query if that manager is unreachable.This option makes a request to the configured manager endpoint.
Offline node catalogn8n_describe_nodes lists common node types and short descriptions without an API request.It does not provide complete node schemas or required properties.
Verification and security policyGitHub Actions runs build, test, smoke/package checks on Ubuntu with Node.js 20 and 22. SECURITY.md publishes response, triage, and remediation commitments.This CI configuration is not cross-platform assurance. The security timings are policy commitments, not a record of observed response performance.

Capabilities & Implementation Boundaries

These reference IDs group implementation areas; they are not external certifications or guarantees.

ReferenceImplemented behaviorScope and limits
INV-LOCAL-01MCP client communication uses local stdio.n8n API calls go to configured endpoints; the optional manager and interactive-terminal update check can also make network requests.
INV-READ-02N8N_MANAGER_READ_ONLY=1 is an environment-level ceiling that the tool cannot disable. Persisted read-only mode can be changed when the environment ceiling is absent.The server loads configuration before checking the mutation gate; a blocked attempt may append to the audit file, and an append failure can make the tool call return an error. This is not an OS-level filesystem restriction.
INV-BACK-03With backup_before_mutations enabled (default: true), JSON snapshots are attempted before update, delete, activate/deactivate, and overwrite-restore.Create/import are not pre-backed up. A failed enabled snapshot stops the subsequent n8n mutation request. Backups are local plaintext.
INV-AUDIT-04audit_log is configurable and enabled by default; entries are appended to the local audit file.The log is not tamper-proof. Append failures propagate and may happen after an upstream mutation succeeds.
INV-SRV-05Multiple server profiles are stored locally and selected for requests.API keys in servers.json are plaintext. New config files request POSIX 0600; Windows access follows directory ACLs.
INV-TRAV-06Numeric input bounds are validated; backup path segments are sanitized and checked against the configured root in relevant file operations.Real-path and symlink checks apply to backup/list/restore handling. This does not establish immunity to all traversal, prototype-pollution, or malformed-payload failures.
INV-PRIV-07The server does not request privilege elevation.The Node process inherits its launcher's privileges; no privilege-dropping or RunAsInvoker enforcement is implemented.
INV-SEAM-08n8n_manager_history uses the optional N8N_MCP_MANAGER_URL integration and does not fall back to a direct n8n query when the manager is unreachable.When enabled, it makes a request to the configured manager endpoint.
INV-NODE-09The bundled catalog describes common node types by category.It does not return full schemas or required properties.
INV-SLA-10GitHub Actions runs build, test, smoke, and package checks on Ubuntu with Node.js 20 and 22. SECURITY.md publishes response, triage, and remediation commitments.This CI configuration is not cross-platform assurance. The security timings are policy commitments, not proof of actual response performance.

Features

  • 19 Tools for complete n8n workflow management
  • List, create, update, delete, and activate/deactivate workflows
  • Safety controls: read-only mode, configurable backups for supported mutations (enabled by default), local restore, and configurable audit logging (enabled by default)
  • Multi-server support (connect to multiple n8n instances)
  • Export/Import workflows between servers
  • View execution history and status
  • Built-in node catalog with descriptions
  • Zero dependencies on Python -- connects directly to n8n REST API

Installation

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "n8n-manager": {      "command": "npx",      "args": ["-y", "n8n-manager-mcp"]    }  }}

Claude Code

bash
claude mcp add --scope user n8n-manager npx -y n8n-manager-mcp

Manual

bash
npm install -g n8n-manager-mcp

Quick Start

Natural Language Prompts

After installation, use these prompts in your AI assistant. Before registering a server, securely configure N8N_MANAGER_API_KEY and the matching N8N_MANAGER_SERVER_URL in the MCP host environment. Do not include the API key in a prompt or tool argument:

  1. Add your n8n server:

    "Add an n8n server profile named production at http://localhost:5678 using the already configured host credentials"

  2. List workflows:

    "Show me all workflows on my n8n server"

  3. Inspect nodes offline:

    "Show the action node types and descriptions from the bundled offline catalog"

  4. Create a workflow:

    "Create an n8n workflow that triggers on a webhook, fetches data from an API, and sends a Slack message"

  5. Check executions:

    "Show me the last 10 workflow executions on production"

  6. Import a copy across environments:

    "Export workflow 42 from staging and import a new inactive copy into production"

    Note: n8n_import_workflow creates a new workflow; it does not create a pre-import backup or return a rollback handle. The copy stays inactive unless activation is requested.

End-to-End Developer & Agent Execution Showcase

Below is a step-by-step walkthrough of server configuration, offline catalog lookup, workflow mutation with backup, restore, and read-only behavior. Examples show tool-argument shapes and illustrative MCP text responses.

1. Multi-Server Registration & Health Check

Before registering a new server, configure N8N_MANAGER_API_KEY and a matching N8N_MANAGER_SERVER_URL in the MCP host environment using the client's sensitive settings or an OS secret facility. Never pass the API key in a chat prompt or tool argument. The local server profile stores the key as plaintext; new files request mode 0600 on POSIX, while Windows access follows the directory ACL.

Call n8n_add_server:

json
{  "name": "staging",  "url": "http://127.0.0.1:5678",  "is_default": true}

Illustrative MCP text response (the server name and URL follow the request):

text
Server "staging" added (http://127.0.0.1:5678). Set as default.

Call n8n_ping_server:

json
{  "server_name": "staging"}

Illustrative MCP text response (response time varies):

text
Server "staging" (http://127.0.0.1:5678) is reachable. Response time: <N>ms
2. Offline Node Catalog

n8n_describe_nodes filters the bundled catalog by category. It returns text descriptions, not full node schemas or a selected list of node names.

Call n8n_describe_nodes:

json
{  "category": "action"}

Illustrative response text:

text
n8n Node Types (action):
  [ACTION] n8n-nodes-base.httpRequest    Name: HTTP Request    Make HTTP requests. Params: url, method, headers, body
  [ACTION] n8n-nodes-base.emailSend    Name: Send Email    Send emails via SMTP. Params: fromEmail, toEmail, subject, text
  [ACTION] n8n-nodes-base.slack    Name: Slack    Send messages to Slack channels
  [ACTION] n8n-nodes-base.telegram    Name: Telegram    Send messages via Telegram bot
  [ACTION] n8n-nodes-base.googleSheets    Name: Google Sheets    Read/write Google Sheets data
3. Safe Workflow Update with Automated Snapshot

When backup_before_mutations is enabled (default: true), n8n_update_workflow saves a timestamped snapshot before sending the update to n8n. This example shows the argument shape only: replace the placeholder with the complete, JSON-serialized updated workflow.

Call n8n_update_workflow:

json
{  "workflow_id": "42",  "server_name": "staging",  "workflow_json": "<complete JSON-serialized updated workflow>"}

Illustrative MCP text response when the default backup is enabled:

text
Workflow 42 updated successfully on staging. Backup saved: <backup path>
4. Restore from a Local Backup

To overwrite workflow 42, pass its backup path and target_workflow_id. With backup_before_mutations enabled, the current target is backed up before it is overwritten. Omitting target_workflow_id creates a new workflow instead.

Call n8n_restore_workflow:

json
{  "backup_path": "<path returned by n8n_list_backups or a mutation response>",  "server_name": "staging",  "target_workflow_id": "42"}

Illustrative MCP text response when the pre-restore backup is enabled:

text
Workflow restored (overwritten) on staging: "Customer Webhook Ingest [v2]" (ID: 42). Pre-restore backup saved: <backup path>
5. Fail-Closed Read-Only Protection

If audit_log is enabled (default: true), a blocked mutation is appended to the audit log; an append error can make the tool call fail. If N8N_MANAGER_READ_ONLY=1 is set in the MCP host environment, it is a monotonic ceiling: n8n_set_safety_mode cannot disable it. Remove the environment variable and restart the MCP server to lift that ceiling. The runtime's generic text below still mentions n8n_set_safety_mode; that suggestion does not apply while the environment ceiling is active.

Call n8n_delete_workflow:

json
{  "workflow_id": "42",  "server_name": "staging"}

Illustrative runtime text response when read-only mode is active:

text
Blocked: n8n Manager is in read-only mode. Disable read_only via n8n_set_safety_mode before delete_workflow.

Available Tools

ToolDescription
n8n_list_workflowsList all workflows on a server
n8n_get_workflowGet workflow details (nodes, connections)
n8n_create_workflowCreate a new workflow from nodes + connections
n8n_update_workflowUpdate an existing workflow
n8n_delete_workflowDelete a workflow
n8n_activate_workflowActivate or deactivate a workflow
n8n_list_executionsList recent executions with status
n8n_export_workflowExport workflow as importable JSON
n8n_import_workflowImport workflow JSON onto a server
n8n_safety_statusShow local safety settings, backup directory, and audit log path
n8n_set_safety_modeToggle read-only mode, backup-before-mutation, and audit logging
n8n_list_backupsList local workflow backups created before mutations
n8n_restore_workflowRestore a workflow from a local backup
n8n_add_serverAdd/update n8n server connection
n8n_list_serversList configured servers
n8n_ping_serverTest server connection
n8n_remove_serverRemove a server
n8n_describe_nodesBrowse available n8n node types
n8n_manager_historyRead version history, recorded decisions, and sync history from an optional n8n-workflow-manager (opt-in, read-only)

Optional: n8n-workflow-manager seam

n8n itself keeps no record of why a workflow changed. The sibling project n8n-workflow-manager does: it stores versions, a mandatory decision per mutation, and a sync history in a local database. n8n_manager_history makes that record readable from this MCP server.

The seam is opt-in and read-only:

  • Without N8N_MCP_MANAGER_URL, nothing changes — every tool talks to n8n directly, as before.
  • With it set (for example http://127.0.0.1:8100), n8n_manager_history reads from the running manager. Omit workflow_id to list the manager's workflows, pass it for full history.
  • IDs are manager IDs, not n8n instance IDs. The manager stores that mapping but exposes no route to resolve it, so this server does not guess a translation.
  • If the manager is configured but unreachable, the tool fails with an explicit message instead of quietly answering from the n8n instance — that store has no decision history, so a substituted answer would be a different answer.
  • n8n_safety_status reports the measured state of the seam (configured, reachable, manager version), not just the environment variable.

Setup: pip install n8n-workflow-manager, then n8n-manager serve (binds 127.0.0.1:8100). The manager API is unauthenticated and binds to loopback by default; its host is configurable. A non-loopback URL is flagged in n8n_safety_status.

Numeric guardrails are part of the MCP schemas: workflow, execution, and backup list limits are finite positive integers from 1 to 1000 (the existing defaults remain 100, 20, and 20), and workflow connection from_output/ to_input indices are finite non-negative integers from 0 to 1000. Invalid values are rejected by the MCP input schemas or workflow validation before the corresponding operation proceeds. Configuration loading may access the local filesystem before a mutation check.


Configuration

Server connections and safety settings are stored in ~/.n8n-manager-mcp/servers.json.

API key data flow

Set N8N_MANAGER_API_KEY and N8N_MANAGER_SERVER_URL in the MCP host process environment before starting the server. Use your client's sensitive user configuration or an OS secret facility when available; check whether your client writes environment values to a plaintext configuration file. N8N_MANAGER_SERVER_URL must match the URL passed to n8n_add_server (trailing slashes are normalized). Do not include an API key in a chat prompt or tool argument.

n8n_add_server reads the key from the host environment, validates it, and saves it with the server profile in local servers.json. The file is plaintext, not encrypted; new files request mode 0600 on POSIX, while Windows access follows the directory ACL. The MCP tool schema, outgoing tool results, and server list contain no configured key value. API calls send the key in the X-N8N-API-KEY header to the configured n8n URL; redirects are not followed. Use HTTPS for remote n8n servers. Echoed keys in successful and failed upstream responses are redacted at the MCP output and audit boundaries, including JSON object keys and workflow IDs.

Existing servers.json profiles keep working. Updating a profile at the same URL preserves its stored key even when an environment key is present. To rotate a key or change a profile URL, set the new key and matching URL in the host environment, restart the MCP server, then call n8n_add_server with rotate_key: true. A URL change without rotation is refused. For multiple servers, configure and add each server with its own environment key/URL pair, restarting the MCP process between pairs; already stored keys are not silently replaced. After onboarding, the environment pair can be removed on restart because the key remains in the local profile. Remove any old prompts or client calls that supplied api_key as a tool argument.

Safety defaults:

  • backup_before_mutations: true saves workflow JSON before update, delete, activate/deactivate, and overwrite-restore operations.
  • audit_log: true appends mutation outcomes to ~/.n8n-manager-mcp/audit.log.
  • read_only: false can be enabled with n8n_set_safety_mode or N8N_MANAGER_READ_ONLY=1. The environment flag is an enforcement ceiling: while it is enabled, persisted settings and n8n_set_safety_mode cannot turn read-only mode off.
  • Backups are stored under ~/.n8n-manager-mcp/backups/ and can be listed/restored with the backup tools. Backup path segments are sanitized and real-path/symlink checks are used in backup, listing, and restore handling. Listing exposes regular .json backups. These checks are scoped to those operations, not a general filesystem guarantee.
  • n8n_add_server validates server connection input before saving: URLs must be http or https base URLs without embedded credentials, query strings, or fragments, and API keys must not contain whitespace.
  • n8n_add_server default semantics are explicit: the first server becomes default; an update without is_default preserves the existing flag; true promotes the server; false intentionally removes its flag, after which default lookup falls back to the first configured server.

Development

bash
npm installnpm run build    # One-time buildnpm run dev      # Watch modenpm start        # Start servernpm test         # Run test suite (vitest)npm run smoke    # Start the built MCP server and verify tool discovery

Testing

The test suite covers URL building, server input validation, server management, safety settings, backup path handling, workflow JSON construction, export/import validation, i18n language packs, repository hygiene, and error handling. The manager seam is tested against a local stub HTTP server, including its refusal to fall back to a direct n8n query.

bash
npm test              # Run all testsnpx vitest run        # Same as abovenpx vitest --watch    # Watch modenpm run smoke         # Manual stdio MCP smoke test (requires npm run build first)

The recorded verification covers Windows locally and Ubuntu Linux in GitHub Actions; GitHub Actions runs build, test, and npm package checks on Node.js 20 and 22. The commit-specific local record is kept in CHANGELOG.md. The smoke runner starts dist/index.js through the MCP SDK client, verifies all 19 tool registrations and secret-free server setup with synthetic credentials, and uses loopback stubs to test key redaction and redirect refusal. It does not contact a real n8n server.

Contributing & Development Workflow

Contributions are welcome! Please review CONTRIBUTING.md and our CODE_OF_CONDUCT.md for full guidelines, including:

  • Implementation areas (INV-LOCAL-01 to INV-SLA-10): stdio transport, read-only mode, configurable backups and audit logging, validation, and the published security policy; see the documented scope and limits above.
  • Process privileges: the process inherits the privileges of its launcher and does not request elevation.
  • Plan D Workflow: Development strictly against canonical local clones and GitHub origin/main.
  • Published security policy: Response, triage, and remediation commitments are listed in SECURITY.md; coordinated disclosure contacts include [email protected] and [email protected].

Related

  • n8n-workflow-manager — the state & history layer for humans (Web UI + REST API, Python): per-workflow change history and decision log, visual graph viewer, multi-server sync. Designed as a pair with this MCP server — the MCP is the AI action layer (create/update/delete/activate), the manager is where you review, document, and roll back. Memory & context (roadmap): an MCP server alone can't guarantee an agent checks prior context before a destructive change — that enforcement belongs in the manager (client-agnostic), with conversational context optionally from a pull-based history index like ctx (Apache-2.0). Planned: a shared history/decision store + a check-history-before-mutating guard.
  • n8n -- The workflow automation platform

License

MIT


ellmos-ai Ecosystem

This MCP server is part of the ellmos-ai ecosystem — AI infrastructure, MCP servers, and intelligent tools.

MCP Server Family

ServerToolsFocusnpm
FileCommander46Filesystem, process management, interactive sessions, cloud-lock-safe operationsellmos-filecommander-mcp
CodeCommander22Code analysis, JSON repair, imports, diffs, regexellmos-codecommander-mcp
Clatcher12File repair, format conversion, batch operationsellmos-clatcher-mcp
n8n Manager19n8n workflow management via AI assistantsn8n-manager-mcp
ControlCenter20MCP stack discovery, profile management, control planeellmos-controlcenter-mcp
Homebase45Local-first LLM memory, knowledge, state, routing, swarm orchestrationellmos-homebase-mcp (alpha)
ServerCommander8Server operations: health checks, log analysis, deploy dry-runs, mail diagnosticsellmos-servercommander-mcp (alpha)
Blender Use3Headless Blender asset QA and FBX reimport verificationellmos-blender-use-mcp (alpha)
Open Compute10Model-agnostic computer use: capture, safety-gated actions, Windows UIAopen-compute-mcp (alpha)

AI Infrastructure

ProjectDescription
BACHLocal-first text-based OS for LLM agents — 113+ handlers, 550+ tools, SQLite memory
open-computeModel-agnostic computer-use core powering Open Compute MCP
clutchProvider-neutral LLM orchestration with auto-routing and budget tracking
rinnsalLightweight agent memory, connectors, and automation infrastructure
ellmos-stackSelf-hosted AI research stack (Ollama + n8n + Rinnsal + KnowledgeDigest)
MarbleRunAutonomous agent chain framework for Claude Code
gardenerMinimalist database-driven LLM OS prototype (4 functions, 1 table)
ellmos-testsTesting framework for LLM operating systems (7 dimensions)

Desktop Software & Sibling Tools

Our partner organization open-bricks and sister suites bundle AI-native desktop applications and developer utilities:

RepositoryOrg / SuiteFocus & Functionality
ProFilerfile-bricksAdvanced file and asset management workbench with duplicate detection
ExplorerProfile-bricksTabbed, filterable file manager with smart batch processing
WinStorePackagerfile-bricksMSIX packaging and Windows Store release preparation
DokuZendoc-bricksOffline Markdown editor, live preview, and document structuring workbench
PDFtoPDFocrdoc-bricksOffline OCR pipeline converting scanned PDF documents to searchable PDFs
USR_PDFunlockdoc-bricksBirthday/date password recovery tool for protected PDF archives
UniversalInvoiceMaildoc-bricksAutomated invoice extraction and email processing
CleanMarkdowndoc-bricksLossless formatting and typography cleanup for technical markdown
safe-start-for-codexdev-bricksFast, reliable agent bootstrap and environment check runner
automation-masterdev-bricksCentral multi-host automation orchestrator and task monitor
DevCenterdev-bricksUnified developer workspace dashboard for local tool chains
CodeBoxdev-bricksDesktop code editor / IDE for multi-language development
githubbotdev-bricksAutomated multi-org repository maintenance and discoverability engine
swarm-aiellmos-aiDistributed multi-agent swarming framework with stigmergic coordination
ellmos-coreellmos-aiEnterprise AI agent backend, hybrid RAG, and multi-tenant security
open-bricksopen-bricksUmbrella portal and catalog across all local-first AI software products
Zombie Killer Traydev-bricksOptional Windows tool for checking orphaned MCP processes. n8n Manager is a configured candidate when launched through the supported node_modules/n8n-manager-mcp/dist/index.js entrypoint; all additional process and apply checks still apply

Third-Party Licenses & Transparency

This project is licensed under the MIT License with attribution declared in NOTICE. The dependency table below lists selected direct and development dependencies declared for this project. License details are provided in the repository inventory; this table does not claim continuous auditing or certify supply-chain security:

DependencyTypeVersionLicenseInventory Status
@modelcontextprotocol/sdkRuntime (Direct)^1.29.0MITLicense listed
zodRuntime (Direct)^4.6.7MITLicense listed
update-notifierRuntime (Direct)^7.3.1BSD-2-ClauseLicense listed
typescriptDev / Compiler^5.3.3Apache-2.0License listed
vitestDev / Test Runner^4.1.11MITLicense listed
@types/nodeDev / Type Definitions^20.11.0MITLicense listed
  • Network scope: The server sends requests to configured n8n endpoints and, when enabled, the configured manager endpoint. The update notifier may check for updates on interactive TTY startup; the regular non-TTY stdio path skips it. The reviewed application source contains no product-analytics sender.
  • Detailed Open-Source Inventory: Complete attribution notices, license texts, and transitive dependency analyses are available in THIRD_PARTY_LICENSES.md.
  • Plain-text dependency companion: A text dependency/license inventory is available in THIRD_PARTY_LICENSES.txt; it is not a runtime audit trail or privilege certification.

Marketing & Personas Log

For marketing positioning, target persona definitions, governance invariant mappings, and the 3-phase discoverability roadmap, see MARKETING-LOG.txt.


Changelog

See CHANGELOG.md for detailed version history, release notes, and past migration milestones.


Haftung / Liability

Statutory Notice & Liability Disclaimer (§ 521 BGB)

Dieses Projekt ist eine unentgeltliche Open-Source-Schenkung im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß § 521 BGB auf Vorsatz und grobe Fahrlässigkeit beschränkt. Ergänzend gilt der Haftungsausschluss der MIT-Lizenz.

Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie, keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.

This project is an unpaid open-source donation under the MIT License. Liability is limited to intent and gross negligence (§ 521 German Civil Code). Use at your own risk. No warranty, no maintenance guarantee, no fitness-for-purpose assumed.

Security Response SLA & Vulnerability Reporting

As stated in SECURITY.md, the published security policy makes these response, triage, and remediation commitments:

  • Initial Response Commitment: The published policy sets an initial response within 48 hours (INV-SLA-10).
  • Triage Commitment: The published policy sets vulnerability assessment within 5 business days.
  • Remediation Commitment: The published policy sets coordinated security remediation within 30 calendar days after confirmation of a reported vulnerability.
  • Direct Contact Endpoints:

These are policy commitments; this document does not report measured response performance.

来源:README.md,提交 c32bef4

工具

19

n8n_safety_status

Show n8n Manager safety settings, backup directory, audit log location, and whether the optional n8n-workflow-manager seam is configured and reachable.

无需输入参数。

n8n_manager_history

Read version history, recorded decisions, and sync history from a running n8n-workflow-manager. Requires the N8N_MCP_MANAGER_URL environment variable; without it, this MCP talks to n8n directly and no such history exists. Read-only.

输入参数limitworkflow_id

n8n_set_safety_mode

Configure local safety settings: read-only mode, backup-before-mutation, and audit logging.

输入参数audit_logread_onlybackup_before_mutations

n8n_list_workflows

List all workflows on an n8n server. Returns workflow names, IDs, active status, and node counts.

输入参数limitserver_name

n8n_get_workflow

Get detailed information about a specific n8n workflow including all nodes, connections, and settings.

输入参数server_nameworkflow_id必填

n8n_create_workflow

Create a new n8n workflow. Provide the full workflow JSON including nodes and connections.

输入参数name必填nodes必填activateconnectionsserver_name

n8n_update_workflow

Update an existing n8n workflow. Send the full updated workflow JSON.

输入参数server_nameworkflow_id必填workflow_json必填

n8n_delete_workflow

Delete a workflow from an n8n server. By default, a JSON backup is saved before deletion.

输入参数server_nameworkflow_id必填

n8n_activate_workflow

Activate or deactivate an n8n workflow.

输入参数active必填server_nameworkflow_id必填

n8n_list_executions

List recent workflow executions on an n8n server. Shows status, timing, and errors.

输入参数limitstatusserver_nameworkflow_id

n8n_add_server

Add or update an n8n server connection. For a new profile or key rotation, set N8N_MANAGER_API_KEY and N8N_MANAGER_SERVER_URL in the MCP host environment. Existing keys are preserved unless rotate_key is true.

输入参数url必填name必填is_defaultrotate_key

n8n_list_servers

List all configured n8n server connections.

无需输入参数。

n8n_ping_server

Test the connection to an n8n server.

输入参数server_name

n8n_remove_server

Remove an n8n server from the configuration.

输入参数server_name必填

n8n_export_workflow

Export a workflow from an n8n server as JSON. Returns the complete workflow definition that can be imported into another n8n instance.

输入参数server_nameworkflow_id必填

n8n_list_backups

List local workflow backups created before n8n mutations.

输入参数limitserver_nameworkflow_id

n8n_restore_workflow

Restore a workflow from a local backup. By default creates a new workflow; pass target_workflow_id to overwrite an existing workflow.

输入参数activatebackup_path必填server_nametarget_workflow_id

n8n_import_workflow

Import a workflow JSON onto an n8n server. Takes a full n8n workflow JSON and creates it on the server.

输入参数activateserver_nameworkflow_json必填

n8n_describe_nodes

Get information about common n8n node types. Useful for understanding which nodes to use when building workflows.

输入参数category

版本历史

3
  1. v0.1.21最新Oct 31, 2026
  2. v0.1.20Oct 26, 2026
  3. v0.1.13Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分