使用说明
项目简介
本项目 'n8n-mcp-server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将 n8n (一个流行的自动化工作流平台) 的工作流作为工具集成到支持 MCP 协议的 LLM 客户端(如 Claude)中。通过此服务器,LLM 可以调用和管理 n8n 上定义的工作流,实现更强大的自动化和外部功能集成。
主要功能点
- 工作流管理工具: 提供一系列工具,允许 LLM 客户端列出、获取、创建、更新、删除、激活、停用和执行 n8n 工作流。
- 基于 n8n API: 服务器作为 n8n API 的 MCP 协议适配层,所有工具操作都通过调用 n8n API 实现。
- 标准 MCP 协议: 遵循 MCP 协议规范,易于与任何支持 MCP 协议的客户端集成。
- Stdio 传输: 使用标准输入输出 (stdio) 作为 MCP 服务器的传输协议,方便部署和集成。
安装步骤
- 克隆仓库: 将 'n8n-mcp-server' 仓库克隆到本地。
git clone https://github.com/rakeshgangwar/n8n-mcp-server.git cd n8n-mcp-server - 安装依赖: 使用 npm 安装项目依赖。
npm install - 构建项目: 构建 TypeScript 项目。
npm run build
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要配置客户端以连接到此服务器。配置信息通常以 JSON 格式提供。以下是一个配置示例,您需要根据您的实际环境进行调整。
配置文件位置 (Claude Desktop):
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
配置内容示例 (claude_desktop_config.json):
{ "mcpServers": { "n8n-server": { "command": "/path/to/n8n-server/build/index.js" } } }
配置参数说明:
- '"n8n-server"': 服务器名称,可以自定义,用于在客户端中标识该服务器。
- '"command"': 重要参数。指定 MCP 服务器的启动命令。您需要将 '/path/to/n8n-server/build/index.js' 替换为 'build/index.js' 文件的绝对路径。 这个路径指向您在 "安装步骤" 中构建生成的服务器入口文件。
环境变量配置:
在运行 MCP 服务器之前,请确保设置以下环境变量:
- 'N8N_API_URL': 必填。您的 n8n API 的 URL。确保 URL 指向 n8n 的 API 根路径,通常以 '/api/v1' 结尾。例如:'http://your-n8n-instance.com/api/v1'。
- 'N8N_API_KEY': 必填。用于访问 n8n API 的 API 密钥。您需要在 n8n 中生成 API 密钥。
您可以通过多种方式设置环境变量,例如在启动服务器的终端中 export,或者在您的操作系统环境变量中设置。
基本使用方法
-
启动 MCP 服务器: 在配置好环境变量后,通过 MCP 客户端(如 Claude Desktop)启动配置的 "n8n-server"。 客户端会根据您在 'claude_desktop_config.json' 中配置的 'command' 启动 'n8n-mcp-server'。
-
在 LLM 客户端中使用工具: 一旦服务器成功启动并连接到客户端,您就可以在 LLM 的对话中使用服务器提供的工具了。例如,您可以指示 LLM 列出 n8n 工作流,或者执行特定的工作流。
可用工具列表 (通过 'mcp.listTools' 获取):
- 'list_workflows': 列出所有工作流。
- 'get_workflow': 根据 ID 获取指定工作流。
- 'create_workflow': 创建新的工作流。
- 'update_workflow': 更新现有工作流。
- 'delete_workflow': 删除工作流。
- 'activate_workflow': 激活工作流。
- 'deactivate_workflow': 停用工作流。
- 'execute_workflow': 执行工作流。
工具调用示例 (在 LLM 对话中,非代码):
用户:列出所有活跃的工作流。 LLM (内部调用 'list_workflows' 工具): ... 获取工作流列表并返回 ... LLM 回复:以下是所有活跃的工作流... (显示工作流列表)
用户:执行 ID 为 "workflow-id-123" 的工作流,并传递数据 {"input": "用户输入"}。 LLM (内部调用 'execute_workflow' 工具): ... 执行指定工作流并传递数据 ... LLM 回复:工作流执行结果如下... (显示工作流执行结果)
请注意,具体的工具调用方式和参数需要参考每个工具的 'inputSchema' 定义,这通常在 MCP 客户端的开发者工具或文档中可以找到。
信息
分类
开发者工具