n8n工作流自动化服务器

为AI代理提供n8n工作流程的智能管理服务器,包含自动修复、凭证管理和节点发现等核心功能。

  • by r-ms
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 r-ms/n8n-mcp

使用说明

n8n MCP服务器

MCP服务器 n8n 工作流自动化。为以编程方式管理n8n工作流的AI代理(Claude Code、Claude Desktop、Cursor)而构建。

智能验证、常见陷阱的自动修复、嵌入式专有技术数据库、执行轮询、凭证管理和节点发现——在一台服务器上。

为什么存在

n8n的AI工作流功能仅适用于企业。我希望AI代理能够构建和管理我的工作流程,所以我构建了这个MCP服务器。它为Claude(或任何兼容MCP的代理)提供了对n8n和auto-fixes 7个常见的API怪癖的完全编程控制,这些怪癖一路上会让代理出错。

快速开始

git clone https://github.com/r-ms/n8n-mcp.git
cd n8n-mcp
npm install
npm run build

配置

所有配置都是通过MCP客户端配置传递的环境变量进行的。

变量 必填 描述
N8N_API_URL 是 n8n实例URL(例如。 http://localhost:5678)
N8N_API_KEY 是 n8n公共API密钥(设置→ API → 创建API密钥)
N8N_WEBHOOK_URL 否 如果位于反向代理之后,则为webhooks提供单独的基URL。默认为 N8N_API_URL
N8N_MCP_API_KEY 节点发现工具没有 n8n MCP服务器API密钥(设置→ MCP服务器)。需要n8n 2.14+

Claude 代码

添加到您的项目 .mcp.json:

{
  "mcpServers": {
    "n8n": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/n8n-mcp/dist/index.js"],
      "env": {
        "N8N_API_URL": "http://localhost:5678",
        "N8N_API_KEY": "your-api-key"
      }
    }
  }
}

Claude 桌面版

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "n8n": {
      "command": "node",
      "args": ["/path/to/n8n-mcp/dist/index.js"],
      "env": {
        "N8N_API_URL": "http://localhost:5678",
        "N8N_API_KEY": "your-api-key"
      }
    }
  }
}

工具(20)

工作流管理(8)

工具 说明
n8n_list_workflows 列出所有工作流,按活动状态或名称筛选
n8n_get_workflow 通过飞行前验证警告获取完整的工作流程定义
n8n_create_workflow 创建带有自动修复常见陷阱的工作流
n8n_update_workflow 部分更新——自动补充当前版本中缺失的字段
n8n_update_workflow_json 从JSON字符串部署完整的工作流。可选激活
n8n_delete_workflow 删除工作流(首先自动停用,需要确认)
n8n_activate_workflow 激活工作流(启用触发器)
n8n_deactivate_workflow 停用工作流(停止触发器)

执行与监控(4)

工具 说明
n8n_list_executions 列出最近的执行情况,包括状态筛选和成功率
n8n_get_execution 详细的执行跟踪——节点计时、项目、错误、专有技术提示。 verbose 全输出模式
n8n_run_workflow 通过webhook触发。默认情况下等待结果(超时120秒),返回完整跟踪
n8n_diagnose_workflow 在工作流上运行所有飞行前检查,而无需执行

临时执行(1)

工具 说明
n8n_run_adhoc 运行一次性节点链——创建临时工作流,通过webhook执行,返回跟踪,自动清理

证书(3)

工具 说明
n8n_list_credentials 列出所有凭据(ID、名称、类型)
n8n_get_credential_schema 获取凭据类型的JSON模式——在创建之前显示必填字段
n8n_create_credential 创建凭据。出错时,自动获取模式作为提示

节点发现(3)--需要 N8N_MCP_API_KEY

工具 说明
n8n_search_nodes 按关键字搜索可用节点类型。返回ID和鉴别器
n8n_get_node_params 获取节点参数的TypeScript类型定义。防止猜测
n8n_get_suggested_nodes 按类别(聊天机器人、日程安排、抓取等)整理节点推荐

诊断(1)

工具 说明
n8n_search_knowhow 在嵌入式专有技术数据库中搜索n8n问题的解决方案

飞行前验证

自动应用于每个 create 和 update.在常见的n8n陷阱到达API之前捕获并修复它们:

问题 自动修复
无代码节点v2 language param 降级到v1
触发器节点名称中的空格(断开webhooks) 删除空格,重写连接
失踪 settings 字段 添加 {executionOrder: "v1"}
ExecuteWorkflow workflowId为纯字符串 换行 {value: "ID"}
MongoDB find 没有 alwaysOutputData 设置为 true
SplitInBatches v3连接到错误的输出 将连接从输出0(完成)移动到输出1(循环)
失踪 webhookId 在触发节点上 自动生成

专有技术数据库

11个模式匹配的条目。当发生错误时,服务器会将其与已知的n8n问题进行匹配,并给出解决方案:

模式 解决方案
require() 在沙盒中被阻止 使用n8n本机节点而不是代码节点导入
代码节点中的ECONNREFUSED 任务运行器是网络隔离的——使用HTTP请求节点
MongoDB限制类型错误 必须是整数,而不是表达式字符串
子工作流未发布 在父工作流之前激活子工作流
Webhook 404 检查:激活?名称中的空格?webhookId设置好了吗?

韧性

  • 使用指数回退重试 --网络错误重试3次,502/503
  • 执行轮询 — n8n_run_workflow 每2秒轮询一次,直到完成或超时
  • Webhook 404恢复 --与活动webhook路径进行模糊匹配并建议更正

需求

  • Node.js 18+
  • n8n已启用公共API(任何版本)
  • n8n 2.14+用于节点发现工具(可选)

许可证

麻省理工学院