ifmelate
服务介绍
n8n 工作流构建器 MCP
该项目提供了一个用于在 Cursor IDE 中构建和操作 n8n 工作流 JSON 的模型上下文协议(MCP)服务器。这是一种通过与 AI 聊天提示来构建 n8n 工作流的方法。
演示视频:
当前实现状态
项目处于早期开发阶段。基本上,它已经可以工作了——MCP 服务器会创建一个包含 n8n 工作流的 JSON 文件,你可以将其复制并粘贴到 n8n UI 的工作流编辑器中。
当前问题:
- 有时 LLM 代理会在请求中放入错误的参数。我计划找到一种方法来修复这个问题。
- 有时节点之间的连接没有设置好。我正在解决这个问题。
- 并非所有类型的节点都经过了验证。我正在解决这个问题。
- 初始提示很重要。如果不清楚,代理可能会走错方向。我计划找到一种方法来修复这个问题。
主要功能
- 工作流管理:以编程方式创建、更新和执行 n8n 工作流(执行功能尚未实现)
- 节点发现:探索可用的 n8n 节点及其功能
- 连接管理:在工作流节点之间创建连接
- AI 集成:专门用于在工作流中连接 AI 组件的工具
- AI 友好界面:专为与 AI 代理交互而设计
前提条件
- Node.js (v14 或更高版本)
- Cursor IDE (v0.48 或更新版本)
- npm 或 yarn
- TypeScript 编译器(通过
npm install安装为开发依赖项)
安装
-
克隆仓库:
bash
git clone https://github.com/ifmelate/n8n-workflow-builder-mcp.git
cd n8n-workflow-builder-mcp -
安装依赖项:
bash
npm install -
构建 TypeScript 项目:
bash
npm run build -
使 MCP 服务器脚本可执行(如果需要):
bash
chmod +x dist/index.js
运行服务器
启动 MCP 服务器:
bash
npm start
这将运行 dist/index.js 中的编译代码。
对于带有自动重建和重启更改的开发:
bash
npm run dev
Cursor IDE 集成
有两种方法可以在 Cursor 中设置 MCP 服务器:
方法 1:使用 Cursor 设置 UI(推荐)
- 启动 Cursor IDE
- 转到设置 > 功能 > MCP 服务器
- 点击“添加服务器”并提供
dist/index.js文件的绝对路径
(例如,/Users/yourname/n8n-workflow-builder-mcp/dist/index.js) - 确保服务器已启用
- 重启 Cursor IDE 以使更改生效
方法 2:手动配置
-
确保
.cursor目录存在:
bash
mkdir -p .cursor -
创建 MCP 配置文件:
bash
cat > .cursor/mcp.json << EOF
{
"mcpServers": {
"n8n-workflow-builder": {
"command": "node",
"args": ["/absolute/path/to/n8n-workflow-builder-mcp/dist/index.js"]
}
}
}
EOF确保将
/absolute/path/to替换为你系统中的实际路径。 -
重启 Cursor IDE 以使更改生效
可用的 MCP 工具
服务器提供了以下用于处理 n8n 工作流的工具:
| 工具名称 | 描述 | 关键参数 |
|---|---|---|
| create_workflow | 创建一个新的 n8n 工作流 | workflow_name, workspace_dir |
| list_workflows | 列出所有现有的工作流 | (无参数) |
| get_workflow_details | 获取特定工作流的详细信息 | workflow_name |
| add_node | 向工作流中添加新节点 | workflow_name, node_type, position, parameters, node_name, typeVersion |
| delete_node | 从工作流中删除一个节点 | workflow_name, node_id |
| add_connection | 在节点之间添加连接 | workflow_name, source_node_id, source_node_output_name, target_node_id, target_node_input_name |
| add_ai_connections | 为 LangChain 节点添加 AI 连接 | workflow_name, agent_node_id, model_node_id, tool_node_ids |
| list_available_nodes | 列出可用的节点类型(可选过滤) | search_term (可选) |
故障排除 Cursor 集成
如果您在将 MCP 服务器与 Cursor 配合使用时遇到问题,请尝试以下步骤:
-
重启 Cursor:设置好 MCP 配置后,完全关闭并重新启动 Cursor。
-
检查 Cursor 的 MCP 设置:
- 打开 Cursor 设置
- 转到功能 > MCP 服务器
- 确保您的服务器已列出并启用
- 如果已列出但无法正常工作,请尝试点击刷新按钮
-
检查服务器日志:查看运行服务器的终端或 Cursor 输出面板中的错误。在输出面板的下拉菜单中选择“Cursor MCP”以查看特定于 MCP 的日志。
-
验证文件权限:确保
dist/index.js文件具有执行权限。 -
检查端口冲突:如果有其他 MCP 服务器正在运行,可能会发生冲突。检查是否有其他进程使用相同的端口。
-
尝试全局安装:您可以尝试全局安装服务器,而不是使用本地路径:
bash
npm install -g n8n-workflow-builder-mcp然后更新
.cursor/mcp.json文件以使用全局命令。
常见问题及解决方案
"Failed to create client"(创建客户端失败)
这种情况通常发生在:
- MCP 服务器未运行
- Cursor 与服务器之间的连接存在问题
- 服务器在初始化过程中崩溃
请尝试:
- 运行测试脚本以确保服务器正常工作
- 检查服务器日志中的错误
- 重启 Cursor
MCP 服务器未在 Cursor 中显示
这可能是因为:
.cursor/mcp.json文件格式不正确- Cursor 未检测到配置更改
请尝试:
- 验证
.cursor/mcp.json文件的 JSON 格式 - 重启 Cursor
- 在 Cursor 设置中手动选择服务器(如果它出现在那里)
MCP 服务器显示但工具不可用
这可能是因为:
- 服务器未正确注册其工具
- ListOfferings 请求/响应存在问题
请尝试:
- 运行测试脚本以检查工具是否正确注册
- 在 Cursor 的 MCP 服务器设置中点击刷新按钮
- 检查服务器日志中的任何错误
项目结构
/src:主源代码/src/tools:MCP 工具实现/src/models:数据模型/src/utils:实用函数/src/middleware:身份验证和中间件/config:配置文件/tests:测试文件/workflow_nodes:n8n 节点定义/docs:附加文档
贡献
欢迎贡献!请随时提交 Pull Request。
- 叉分仓库
- 创建您的功能分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开 Pull Request
许可证
正在处理许可证 - 需要 n8n 团队确认