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 分