使用说明
n8n MCP服务器
一种模型上下文协议(MCP)服务器,允许AI助手通过自然语言与n8n工作流进行交互。
概述
该项目提供了一个模型上下文协议(MCP)服务器,使AI助手能够与流行的工作流自动化工具n8n无缝交互。它充当桥梁,使AI助手能够使用自然语言命令以编程方式管理和控制n8n工作流和执行。
安装
先决条件
- Node.js 20或更高版本
- 已启用API访问的n8n实例
从npm安装
npm install -g @leonardsellem/n8n-mcp-server
从源代码安装
# Clone the repository
git clone https://github.com/leonardsellem/n8n-mcp-server.git
cd n8n-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Optional: Install globally
npm install -g .
Docker安装
您还可以使用Docker运行服务器:
# Pull the image
docker pull leonardsellem/n8n-mcp-server
# Run the container with your n8n API configuration
docker run -e N8N_API_URL=http://your-n8n:5678/api/v1 \
-e N8N_API_KEY=your_n8n_api_key \
-e N8N_WEBHOOK_USERNAME=username \
-e N8N_WEBHOOK_PASSWORD=password \
leonardsellem/n8n-mcp-server
更新服务器
如何更新服务器取决于最初的安装方式。
1.通过npm全球安装
如果您使用安装服务器 npm install -g @leonardsellem/n8n-mcp-server:
- 打开终端或命令提示符。
- 运行以下命令以获取最新版本:
npm install -g @leonardsellem/n8n-mcp-server@latest - 如果服务器当前正在运行(例如,作为后台进程或服务),您需要重新启动它才能使更改生效。
2.从源头安装
如果您克隆了存储库并从源代码安装:
- 打开终端或命令提示符。
- 导航到克隆项目的目录:
cd path/to/n8n-mcp-server - 如果您对要保留的代码进行了任何本地更改,请考虑将其隐藏(可选):您可以稍后使用
git stashgit stash pop. - 从存储库中提取最新更改(假设您在
main分支):如果您在其他分支机构,请更换git pull origin mainmain使用您的分行名称。 - 安装或更新任何更改的依赖关系:
npm install - 重新生成项目以包含最新更新:
npm run build - 如果您之前使用以下命令从该源文件夹全局安装了它
npm install -g .,您可能需要再次运行此命令以更新全局链接:npm install -g . - 重新启动服务器。
- 如果您直接使用以下命令运行服务器
node build/index.js在AI助手的MCP配置中,确保路径仍然正确。使用npm install -g .然后n8n-mcp-server因为命令应该保持一致。
- 如果您直接使用以下命令运行服务器
3.使用Docker
如果你使用Docker运行服务器:
- 从Docker Hub中提取最新映像:
docker pull leonardsellem/n8n-mcp-server:latest - 停下来,取出你的旧容器。您需要容器的名称或ID(您可以使用
docker ps):docker stop <your_container_name_or_id> docker rm <your_container_name_or_id> - 使用更新的映像启动一个新容器。使用相同
docker run您之前使用的命令,包括所有必要的环境变量(示例命令请参阅“Docker安装”部分)。例如:确保您使用docker run -e N8N_API_URL=http://your-n8n:5678/api/v1 \ -e N8N_API_KEY=your_n8n_api_key \ -e N8N_WEBHOOK_USERNAME=username \ -e N8N_WEBHOOK_PASSWORD=password \ leonardsellem/n8n-mcp-server:latest:latest或者您要运行的特定版本标记。
配置
创建一个 .env 您将运行服务器的目录中的文件,使用 .env.example 作为模板:
cp .env.example .env
配置以下环境变量:
| 变量 | 描述 | 示例 |
|---|---|---|
N8N_API_URL |
n8n API的完整URL,包括 /api/v1 |
http://localhost:5678/api/v1 |
N8N_API_KEY |
用于使用n8n进行身份验证的API密钥 | n8n_api_... |
N8N_WEBHOOK_USERNAME |
webhook身份验证的用户名(如果使用webhook) | username |
N8N_WEBHOOK_PASSWORD |
webhook身份验证密码 | password |
DEBUG |
启用调试日志记录(可选) | true 或 false |
生成n8n API密钥
- 在浏览器中打开n8n实例
- 前往“设置”>“API”>“API密钥”
- 创建具有适当权限的新API密钥
- 将密钥复制到您的
.env文件
用法
运行服务器
从安装目录:
n8n-mcp-server
或者,如果全局安装:
n8n-mcp-server
与AI助手集成
构建服务器后(npm run build),您需要配置您的AI助手(如带有Claude扩展的VS Code或Claude Desktop应用程序)来运行它。这通常涉及编辑JSON配置文件。
示例配置(例如,在VS代码中 settings.json 或克劳德桌面 claude_desktop_config.json):
{
"mcpServers": {
// Give your server a unique name
"n8n-local": {
// Use 'node' to execute the built JavaScript file
"command": "node",
// Provide the *absolute path* to the built index.js file
"args": [
"/path/to/your/cloned/n8n-mcp-server/build/index.js"
// On Windows, use double backslashes:
// "C:\\path\\to\\your\\cloned\\n8n-mcp-server\\build\\index.js"
],
// Environment variables needed by the server
"env": {
"N8N_API_URL": "http://your-n8n-instance:5678/api/v1", // Replace with your n8n URL
"N8N_API_KEY": "YOUR_N8N_API_KEY", // Replace with your key
// Add webhook credentials only if you plan to use webhook tools
// "N8N_WEBHOOK_USERNAME": "your_webhook_user",
// "N8N_WEBHOOK_PASSWORD": "your_webhook_password"
},
// Ensure the server is enabled
"disabled": false,
// Default autoApprove settings
"autoApprove": []
}
// ... other servers might be configured here
}
}
要点:
- 替换
/path/to/your/cloned/n8n-mcp-server/使用克隆和构建存储库的实际绝对路径。 - 为您的操作系统使用正确的路径分隔符(正斜杠
/对于macOS/Linux,双反斜杠\\适用于Windows)。 - 确保提供正确的
N8N_API_URL(包括/api/v1)以及N8N_API_KEY. - 需要构建服务器(
npm run build)在助手能够运行之前build/index.js文件。
可用工具
服务器提供以下工具:
使用Webhooks
此MCP服务器支持通过n8n webhooks执行工作流。要使用此功能,请执行以下操作:
- 在n8n中创建由webhook触发的工作流。
- 在webhook节点上设置基本身份验证。
- 使用
run_webhook工具来触发工作流,只传递工作流名称。
例子:
const result = await useRunWebhook({
workflowName: "hello-world", // Will call <n8n-url>/webhook/hello-world
data: {
prompt: "Hello from AI assistant!"
}
});
webhook身份验证是使用 N8N_WEBHOOK_USERNAME 和 N8N_WEBHOOK_PASSWORD 环境变量。
工作流管理
workflow_list:列出所有工作流workflow_get:获取特定工作流的详细信息workflow_create:创建新工作流workflow_update:更新现有工作流workflow_delete:删除工作流workflow_activate:激活工作流workflow_deactivate:停用工作流
执行管理
execution_run:通过API执行工作流run_webhook:通过webhook执行工作流execution_get:获取特定执行的详细信息execution_list:列出工作流的执行情况execution_stop:停止正在运行的执行
资源
服务器提供以下资源:
n8n://workflows/list:所有工作流列表n8n://workflow/{id}:特定工作流的详细信息n8n://executions/{workflowId}:工作流的执行列表n8n://execution/{id}:具体执行的详细信息
路线图
n8n MCP服务器是一个由社区驱动的项目,其未来的发展方向将取决于您的反馈和贡献!
目前,我们的路线图是灵活的,正在不断发展。我们相信根据用户的需求和想法来改进服务器。
我们鼓励您参与塑造此工具的未来:
- 建议功能: 对新的工具、资源或改进有想法吗?
- 讨论优先事项: 想谈谈我们接下来应该关注什么吗?
请在我们的 GitHub问题页面让我们一起为人工智能助手打造一个强大的工具!
发展
建筑
npm run build
以开发模式运行
npm run dev
测试
npm test
代码检查
npm run lint
贡献
我们欢迎社区的贡献,并很高兴看到您如何帮助改进n8n MCP服务器!无论您是在修复错误、提出新功能还是改进文档,您的帮助都是有价值的。
报告Bug
如果您遇到错误,请在我们的 GitHub问题页面.
提交错误报告时,请包括以下内容:
- 一个清晰且富有描述性的标题。
- 问题的详细描述,包括重现错误的步骤。
- 有关您的环境的信息(例如,Node.js版本、n8n MCP服务器版本、操作系统)。
- 任何相关的错误消息或屏幕截图。
建议增强功能
我们一直在寻找让服务器更好的方法。如果您对增强功能或新功能有想法,请在我们的 GitHub问题页面.
请提供:
- 为您的建议提供一个清晰、描述性的标题。
- 详细解释拟议的增强功能以及为什么它是有益的。
- 任何潜在的用例或示例。
提交拉取请求
如果你想贡献代码,请按照以下步骤操作:
- 分叉存储库: 创建自己的fork n8n mcp服务器存储库.
- 创建分支: 在你的fork中为你的更改创建一个新的分支(例如。,
git checkout -b feature/your-feature-name或bugfix/issue-number). - 进行更改: 实现您的功能或修复错误。
- 确保你的代码遵循现有的编码风格。(我们使用Prettier进行格式化,可以用
npm run lint). - 如果适用,请包括对更改的测试。您可以使用以下命令运行测试
npm test.
- 确保你的代码遵循现有的编码风格。(我们使用Prettier进行格式化,可以用
- 提交您的更改: 写清晰简洁的提交信息。
- 推你的叉子: 将您的更改推送到您的分叉存储库。
- 打开拉取请求(PR): 向提交PR
main官方分支n8n-mcp-server存储库。- 为您的PR提供一个清晰的标题和描述,解释您所做的更改并引用任何相关问题。
我们将尽快审核您的PR并提供反馈。感谢您的贡献!
许可证
🚀 加入我们的团队:呼吁共同维护者!
该项目是一个充满活力、由社区驱动的工具,被人工智能爱好者和开发人员积极使用。目前,它由一位充满激情的人兼职维护,他不是经验丰富的工程师,但致力于将人工智能与工作流自动化联系起来。为了帮助这个项目蓬勃发展,确保其长期健康,并跟上其不断增长的用户群,我们正在寻找热情的 共同维护者 加入我们的团队!
为什么要贡献?
- 学习与成长: 提高你在TypeScript、Node.js、API集成和人工智能工具开发等领域的技能。
- 合作: 与其他有动力的开发人员和人工智能用户一起工作。
- 产生影响: 直接塑造这个项目的未来,并帮助为人工智能社区构建一个有价值的工具。
- 开源: 获得参与开源项目的经验。
您如何提供帮助
我们欢迎各种形式的捐款!以下是一些你可以有所作为的领域:
- Bug修复: 帮助我们识别并清除漏洞,以提高稳定性。
- 功能开发: 根据用户需求和您的想法实施新的工具和功能。
- 文档: 改进我们的指南、示例和API参考资料,使项目更易于访问。
- 测试: 增强我们的测试套件(单元、集成),以确保代码质量和可靠性。
- CI/CD: 帮助简化我们的开发和部署流程。
- 代码审查: 对pull请求提供反馈,并帮助维护代码标准。
- 社区支持: 协助用户解决问题并帮助管理讨论。
参与进来!
如果您对人工智能和工作流自动化的交叉感到兴奋,并且正在寻找一个有价值的开源机会,我们很乐意收到您的来信!
准备好贡献了吗?
- 查看我们的 GitHub问题页面 找到现有任务,提出新想法,或表达你成为共同维护者的兴趣。
- 您可以打开一个名为“共同维护者应用程序”的问题来正式申请,或者只是开始为现有问题做出贡献。
- 或者,如果您有任何问题,可以随时联系现有的维护人员。
让我们共同构建人工智能驱动的工作流自动化的未来! 🙌
感谢社区的支持!
