使用说明
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+用于节点发现工具(可选)
许可证
麻省理工学院
