这是一个模型上下文协议(MCP)服务器,允许AI助手通过自然语言与n8n工作流进行交互。
该项目提供了一个模型上下文协议(MCP)服务器,使AI助手能够无缝地与n8n(一个流行的流程自动化工具)进行交互。它充当桥梁,使AI助手能够使用自然语言命令来编程管理n8n工作流和执行。
npm install -g @leonardsellem/n8n-mcp-server
# 克隆仓库
git clone https://github.com/leonardsellem/n8n-mcp-server.git
cd n8n-mcp-server
# 安装依赖
npm install
# 构建项目
npm run build
# 可选:全局安装
npm install -g .
你可以使用Docker运行服务器:
# 拉取镜像
docker pull leonardsellem/n8n-mcp-server
# 使用你的n8n API配置运行容器
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-m
如何更新服务器取决于你最初是如何安装它的。
如果你是使用npm install -g @leonardsellem/n8n-mcp-server安装的服务器:
npm install -g @leonardsellem/n8n-mcp-server@latest
如果你克隆了仓库并从源代码安装:
cd path/to/n8n-mcp-server
git stash
之后可以使用git stash pop应用它们。main分支上):
git pull origin main
如果你在不同的分支上,请用你的分支名替换main。npm install
npm run build
npm install -g .
node build/index.js的命令直接在AI助手的MCP配置中运行服务器,请确保路径仍然正确。使用npm install -g .然后使用n8n-mcp-server作为命令应该保持一致性。如果你是使用Docker运行服务器:
docker pull leonardsellem/n8n-mcp-server:latest
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 | 包括/api/v1的n8n API完整URL | http://localhost:5678/api/v1 |
N8N_API_KEY | 用于与n8n身份验证的API密钥 | n8n_api_... |
N8N_WEBHOOK_USERNAME | 网络钩子认证的用户名(如果使用网络钩子) | username |
N8N_WEBHOOK_PASSWORD | 网络钩子认证的密码 | password |
DEBUG | 启用调试日志(可选) | true 或 false |
.env文件中从安装目录:
n8n-mcp-server
或者如果全局安装:
n8n-mcp-server
构建服务器后(npm run build),你需要配置你的AI助手(如VS Code与Claude扩展或Claude桌面应用)以运行它。这通常涉及编辑JSON配置文件。
示例配置(例如,在VS Code settings.json或Claude Desktop claude_desktop_config.json中):
{
"mcpServers": {
// 给你的服务器一个唯一的名称
"n8n-local": {
// 使用`node`来执行构建的JavaScript文件
"command": "node",
// 提供构建的index.js文件的绝对路径
"args": [
"/path/to/your/cloned/n8n-mcp-server/build/index.js"
// 在Windows上使用双反斜杠:
// "C:\\path\\to\\your\\cloned\\n8n-mcp-server\\build\\index.js"
],
// 服务器所需的环境变量
"env": {
"N8N_API_URL": "http://your-n8n-instance:5678/api/v1", // 替换为你的n8n URL
"N8N_API_KEY": "YOUR_N8N_API_KEY", // 替换为你的密钥
// 如果计划使用网络钩子工具,则添加网络钩子凭据
// "N8N_WEBHOOK_USERNAME": "your_webhook_user",
// "N8N_WEBHOOK_PASSWORD": "your_webhook_password"
},
// 确保服务器已启用
"disabled": false,
// 默认自动批准设置
"autoApprove": []
}
// ... 其他服务器可能会在这里配置
}
}
关键点:
/path/to/your/cloned/n8n-mcp-server/替换为你实际克隆和构建仓库的绝对路径。/,Windows上的双反斜杠\\)。N8N_API_URL(包括/api/v1)和N8N_API_KEY。build/index.js文件之前,服务器需要被构建(npm run build)。该服务器提供了以下工具:
此MCP服务器支持通过n8n网络钩子执行工作流。要使用此功能:
run_webhook工具触发工作流,只需传递工作流名称即可。示例:
const result = await useRunWebhook({
workflowName: "hello-world", // 将调用<n8n-url>/webhook/hello-world
data: {
prompt: "Hello from AI assistant!"
}
});
网络钩子认证会自动使用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: 通过网络钩子执行工作流execution_get: 获取特定执行的详细信息execution_list: 列出工作流的执行execution_stop: 停止正在运行的执行服务器提供了以下资源:
n8n://workflows/list: 所有工作流列表n8n://workflow/{id}: 特定工作流的详细信息n8n://executions/{workflowId}: 工作流的执行列表n8n://execution/{id}: 特定执行的详细信息n8n MCP服务器是一个社区驱动的项目,其未来方向将由你的反馈和贡献塑造!
目前,我们的发展路线图灵活且持续开发中。我们相信根据用户的需求和想法来发展服务器。
我们鼓励你参与塑造这个工具的未来:
请通过在我们的GitHub问题页面上打开一个问题来分享你的想法、功能请求和想法。让我们一起打造一个强大的AI助手工具!
npm run build
npm run dev
npm test
npm run lint
我们欢迎来自社区的贡献,并期待看到你如何帮助改进n8n MCP服务器!无论你是修复错误、提出新功能还是改进文档,你的帮助都是宝贵的。
如果你遇到错误,请通过在我们的GitHub问题页面上打开一个问题来报告它。
提交错误报告时,请包括以下内容:
我们一直在寻找改进服务器的方法。如果你有关于改进或新功能的想法,请在我们的[GitHub问题页面](https://github.com/ leonardsellem/n8n-mcp-server/issues)上打开一个问题。
请提供:
如果你想贡献代码,请遵循以下步骤:
git checkout -b feature/your-feature-name或bugfix/issue-number)。npm run lint运行)。npm test运行测试。n8n-mcp-server仓库的main分支提交一个PR。
我们将尽快审查你的PR并提供反馈。感谢你的贡献!
这个项目是一个充满活力的社区驱动工具,被AI爱好者和开发者积极使用。目前,它是由一位热情但非资深工程师的人兼职维护,致力于将AI与工作流自动化相结合。为了帮助这个项目繁荣发展,确保其长期健康,并跟上不断增长的用户群,我们正在寻找热情的共同维护者加入团队!
我们欢迎多种形式的贡献!以下是你可以做出重大贡献的一些领域:
如果你对AI和工作流自动化的交叉感兴趣,并且正在寻找一个有意义的开源机会,我们很乐意听到你的声音!
准备好贡献了吗?
让我们一起构建AI驱动的工作流自动化未来! 🙌