n8n工作流AI控制服务

通过Claude AI自然语言交互控制n8n工作流自动化平台的服务,支持42种工作流管理操作。

  • by Shravan1610
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Shravan1610/n8n-mcp-server

使用说明

🤖 n8n MCP服务器-使用Claude AI控制n8n

通过自然对话让Claude AI完全控制您的n8n工作流程


🎯 这有什么作用(用简单的英语)

现在,您无需点击n8n的web界面 与克劳德交谈 并让它管理您的工作流程:

你说: “显示我的所有工作流” 克劳德这样做: 列出所有n8n工作流及其状态

你说: “激活我的每日报告工作流” 克劳德这样做: 为您打开该工作流

你说: “今天哪些工作流失败了?” 克劳德这样做: 显示失败的执行和错误详细信息

这就像有一个知道如何为你使用n8n的人工智能助手。


✨ 你能做什么

设置后,您可以要求Claude:

📋 工作流管理

  • ✅ 列出所有工作流
  • ✅ 创建新工作流
  • ✅ 激活/停用工作流
  • ✅ 更新工作流设置
  • ✅ 删除工作流
  • ✅ 使用标签组织工作流

⚡ 执行监控

  • ✅ 查看哪些工作流已成功运行
  • ✅ 查找失败的执行
  • ✅ 重试失败的工作流
  • ✅ 获取详细的错误信息
  • ✅ 跟踪执行历史

🔧 高级功能

  • ✅ 管理环境变量
  • ✅ 安全地处理凭据
  • ✅ 管理用户和项目
  • ✅ 生成安全审核
  • ✅ 健康检查您的n8n实例

总计:42项不同的操作 -通过与克劳德的自然对话。


🤔 开始之前:这些是什么?

什么是MCP(模型上下文协议)?

将其视为一个“通用连接器”,让Claude AI与其他软件进行通信。这就像教克劳德如何使用n8n,给它一个专门的插件。

官方文件: https://modelcontextprotocol.io/

n8n是什么?

n8n是一个工作流自动化工具(类似于Zapier,但是自托管的)。它连接不同的应用程序并自动化任务。例如:“当我收到一封电子邮件时,将其保存到谷歌表格中,并在Slack上通知我。”

n8n网站: https://n8n.io/

Docker是什么?

Docker打包软件,使其在任何计算机上都能以相同的方式运行。把它想象成软件的“容器”——它包括运行所需的一切,所以你不必手动安装依赖项。

Docker网站: https://www.docker.com/


📋 先决条件(你首先需要什么)

在开始之前,请确保您已经:

1. Docker 桌面版 (必填)

  • 下载: https://www.docker.com/products/docker-desktop
  • 安装它 并确保它正在运行(您将在系统托盘中看到Docker图标)
  • 测试其工作原理: 打开终端/命令提示符并键入:
    docker --version
    
    您应该看到类似以下内容: Docker version 24.0.0

2. n8n具有API访问权限的实例 (必填)

您需要:

  • ✅ 正在运行的n8n实例(自托管或云)
  • ✅ 您的n8n的URL(例如。, https://your-n8n.com)
  • ✅ n8n中的API密钥

如何获取n8n API密钥:

  1. 登录您的n8n实例
  2. 单击您的个人资料图标(右上角)
  3. 转到“设置”→ "API"
  4. 单击“创建API密钥”
  5. 复制密钥(以开头 eyJ...)-你以后需要这个

3. 克劳德桌面 (必填)

  • 下载: https://claude.ai/download
  • 安装桌面应用程序(不仅仅是web版本)

4. Docker MCP网关 (必填)

这是Claude和Docker容器之间的“桥梁”。

安装它:

# On macOS/Linux
curl -fsSL https://raw.githubusercontent.com/docker/mcp-gateway/main/install.sh | sh

# On Windows (PowerShell as Administrator)
irm https://raw.githubusercontent.com/docker/mcp-gateway/main/install.ps1 | iex

验证是否已安装:

docker mcp --version

官方文件: https://github.com/docker/mcp-gateway

5. 终端基础知识 (有用但不是必需的)

您需要将粘贴命令复制到终端中。别担心,我们会指导你完成每一个。


🚀 安装指南(分步)

按照以下步骤操作 精确地 整齐。每一步都有一个“✅ 成功检查”,这样你就知道它奏效了。

步骤0:启用Docker MCP工具包(重要提示!)

首先,您需要在Docker Desktop中启用MCP支持:

  1. 打开Docker桌面
  2. 点击 设置 图标(齿轮图标,右上角)
  3. 首选 Beta功能 (在左侧边栏中)
  4. 找到 “启用Docker MCP工具包”
  5. 选中该框 启用它
  6. 点击 “应用并重新启动”
  7. 等待Docker桌面重新启动

✅ 成功检查: 重启后,打开终端并运行:

docker mcp --version

您应该看到版本信息(不是错误)。


第一步:下载此项目

选项A:使用Git(如果你有)

cd ~/Desktop
git clone https://github.com/Shravan1610/n8n-mcp-server.git
cd n8n-mcp-server

选项B:下载ZIP

  1. 首选https://github.com/Shravan1610/n8n-mcp-server
  2. 点击绿色的“代码”按钮
  3. 点击“下载ZIP”
  4. 将其解压缩到桌面
  5. 打开终端并导航到它:
    cd ~/Desktop/n8n-mcp-server-main
    

✅ 成功检查: 跑 ls -您应该看到以下文件 README.md, package.json, Dockerfile


步骤2:配置n8n连接

创建环境文件:

cp .env.example .env

编辑 .env 文件:

  1. 在Mac/Linux上:

    nano .env
    
  2. 在Windows上:

    notepad .env
    
  3. 填写您的n8n详细信息:

    N8N_API_KEY=paste_your_actual_n8n_api_key_here
    N8N_BASE_URL=https://your-n8n-instance.com/api/v1
    

    重要提示:

    • 替换 paste_your_actual_n8n_api_key_here 使用从n8n获得的API密钥
    • 替换 https://your-n8n-instance.com 使用您的实际n8n URL
    • 不要添加尾随斜线 在URL的末尾
    • 保持 /api/v1 在最后
  4. 保存文件:

    • 纳米:印刷 Ctrl+O那么 Enter那么 Ctrl+X
    • 在记事本中:文件→ Save

示例 .env 文件(包含您的实际值):

N8N_API_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your_actual_key_here
N8N_BASE_URL=https://your-actual-n8n-url.com/api/v1

✅ 成功检查: 跑 cat .env (Mac/Linux)或 type .env (Windows)-您应该看到您的API密钥和URL(而不是占位符文本)


步骤3:构建Docker容器

这打包了运行MCP服务器所需的一切。

运行构建脚本:

在Mac/Linux上:

chmod +x build.sh
./build.sh

在Windows上:

docker build -t n8n-mcp-server:latest .

这将需要2-3分钟。 你会看到很多输出——这很正常。

✅ 成功检查: 跑 docker images | grep n8n-mcp-server -您应该看到带有“最新”标签的图像


步骤4:测试服务器(可选但推荐)

让我们确保它可以连接到您的n8n实例。

运行测试:

在Mac/Linux上:

chmod +x test.sh
./test.sh

在Windows上:

docker run --rm -i --env-file .env n8n-mcp-server:latest

然后粘贴此内容并按Enter键:

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}

按 Ctrl+C 退出。

✅ 成功检查: 您应该看到一个JSON响应(不是错误)。如果您看到“意外令牌”或连接错误,请检查您的 .env 文件。


步骤5:设置Docker MCP网关

现在我们告诉Docker MCP Gateway我们的n8n服务器。

初始化网关(仅限第一次):

docker mcp catalog init

添加n8n服务器配置:

  1. 编辑Docker MCP配置文件:

    在Mac/Linux上:

    nano ~/.docker/mcp/docker-mcp.yaml
    

    在Windows上:

    notepad %USERPROFILE%\.docker\mcp\docker-mcp.yaml
    
  2. 在末尾添加此配置:

    n8n-server:
      image: n8n-mcp-server:latest
      environment:
        N8N_API_KEY: paste_your_actual_n8n_api_key_here
        N8N_BASE_URL: https://your-n8n-instance.com/api/v1
      description: "n8n workflow automation MCP server"
    
  3. 替换占位符值:

    • 使用 相同的API密钥 来自你的 .env 文件
    • 使用 相同的n8n URL 来自你的 .env 文件
  4. 保存文件

启用服务器:

docker mcp server enable n8n-server

✅ 成功检查: 跑 docker mcp server list -你应该看看 n8n-server 状态为“启用”


步骤6:连接到克劳德桌面

选项A:自动(Docker MCP网关处理)

Docker MCP网关应自动配置Claude Desktop。就 完全退出并重新启动Claude Desktop。

选项B:手动配置(如果自动不起作用)

  1. 查找您的Claude Desktop配置文件:

    • 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  2. 编辑文件:

    在Mac上:

    nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
    

    在Windows上:

    notepad %APPDATA%\Claude\claude_desktop_config.json
    
  3. 添加或更新配置:

    {
      "mcpServers": {
        "docker-mcp-gateway": {
          "command": "docker",
          "args": ["run", "-i", "--rm", "docker-mcp-gateway"]
        }
      }
    }
    
  4. 保存文件

重新启动克劳德桌面:

  • 别只是关上窗户 -完全退出应用程序:
    • 雨衣: 克劳德桌面→ 退出克劳德桌面(或Cmd+Q)
    • 窗户: 右键单击系统托盘图标→ Exit
  • 重新启动克劳德桌面

✅ 成功检查: 打开Claude Desktop并开始新的对话。键入“你有什么n8n工具?”-Claude应该列出42个可用的工具。如果没有,请参阅下面的故障排除。


🎉 你完了!现在怎么办?

试着问克劳德这些问题:

基本命令

"List all my n8n workflows"
"Show me the details of workflow [name]"
"What's the health status of my n8n instance?"

工作流管理

"Activate my [workflow name] workflow"
"Deactivate the [workflow name] workflow"
"Show me all inactive workflows"

执行监控

"Show me all failed executions from today"
"What went wrong with execution [id]?"
"Retry execution [id]"

高级操作

"List all environment variables"
"Create a variable named API_URL with value https://api.example.com"
"Show me all users in my n8n instance"

🆘 故障排除(常见问题)

问题1:“找不到Docker MCP命令”

症状: docker mcp: command not found

解决方案:

  1. 确保Docker MCP工具包已启用:

    • 打开Docker桌面
    • 设置→ 测试版功能→ 启用Docker MCP工具包
    • 应用并重新启动
  2. 重新安装Docker MCP网关:

    curl -fsSL https://raw.githubusercontent.com/docker/mcp-gateway/main/install.sh | sh
    

问题2:“工具未在Claude中显示”

症状: Claude说它没有n8n工具

解决:

  1. 验证Docker MCP网关是否正在运行:

    docker mcp server list
    

    确保 n8n-server 显示为“已启用”

  2. 如果服务器已禁用,请启用它:

    docker mcp server enable n8n-server
    
  3. 完全重新启动克劳德桌面:

    • 退出(不要只是关闭)
    • 等待5秒
    • 重新开始
  4. 检查Docker是否正在运行:

    • 在系统托盘中查找Docker图标
    • 应显示“Docker桌面正在运行”

问题3:“无法连接到n8n”或“401未经授权”

症状: Claude表示无法访问您的n8n实例或身份验证失败

解决:

  1. 验证您的API密钥是否有效:

    curl -H "X-N8N-API-KEY: your_api_key" "https://your-n8n.com/api/v1/workflows?limit=1"
    

    用实际值替换。您应该得到JSON响应,而不是错误。

  2. 检查你的 .env 文件:

    cat .env
    

    确保:

    • API密钥正确(从 eyJ)
    • URL没有尾随斜线
    • URL以结尾 /api/v1
  3. 检查Docker MCP配置:

    cat ~/.docker/mcp/docker-mcp.yaml
    

    确保值与您的匹配 .env 文件

  4. 重建服务器:

    ./build.sh
    docker mcp server disable n8n-server
    docker mcp server enable n8n-server
    

问题4:“意外的非空白字符”错误

症状: 测试时出现JSON解析错误

此版本应修复此问题。 如果你仍然看到它:

  1. 确保您使用的是最新代码:

    git pull origin main
    ./build.sh
    
  2. 验证映像是否已重建:

    docker images | grep n8n-mcp-server
    

    检查“创建”日期-应该是最近的


问题5:“权限被拒绝”错误

在Mac/Linux上:

chmod +x build.sh test.sh
./build.sh

在Windows上: 以管理员身份运行PowerShell


🤔 常见错误(向他人学习!)

❌ 错误1:忘记启用Docker MCP工具包

#1问题! 您必须在Docker桌面设置中启用此功能→ 在一切正常运行之前,先测试功能。

❌ 错误2:在URL中添加尾随斜线

错误:

N8N_BASE_URL=https://n8n.example.com/api/v1/

对的:

N8N_BASE_URL=https://n8n.example.com/api/v1

❌ 错误3:忘记退出Claude Desktop

光关窗户是不够的,你必须 完全退出应用程序 以使配置更改生效。

❌ 错误4:使用错误的API密钥

确保您使用的是n8n API密钥,而不是您的登录密码。从以下位置获取:n8n设置→ API → 创建API密钥

❌ 错误5:Docker无法运行

Docker图标必须位于系统托盘中,并显示“正在运行”状态。如果Docker不运行,什么都不会工作。

❌ 错误6:未启用服务器

编辑后 docker-mcp.yaml,您必须运行:

docker mcp server enable n8n-server

🎓 它是如何工作的(对于好奇的人)

以下是幕后发生的事情:

  1. 你和克劳德谈谈 自然语言
  2. 克劳德明白了 你想用n8n做什么
  3. 克劳德打电话来 Docker MCP网关
  4. 网关启动 您的n8n MCP服务器容器
  5. MCP服务器 对n8n实例进行API调用
  6. n8n响应 与数据
  7. 响应返回 通过Gateway→ 克劳德→ You

这就像有一个翻译,一边说“人类”,另一边说“n8n API”。


📚 可用工具(共42个)

Click to expand the complete list

工作流管理(10个工具)

  • n8n_list_workflows -列出所有带分页的工作流
  • n8n_get_workflow -获取详细的工作流信息
  • n8n_create_workflow -创建新工作流
  • n8n_update_workflow -修改现有工作流
  • n8n_delete_workflow -删除工作流
  • n8n_activate_workflow -启用工作流
  • n8n_deactivate_workflow -禁用工作流
  • n8n_transfer_workflow -在项目之间转移工作流
  • n8n_get_workflow_tags -获取工作流标签
  • n8n_update_workflow_tags -更新工作流标签

执行管理(4个工具)

  • n8n_list_executions -使用筛选列出执行情况
  • n8n_get_execution -获取详细的执行信息
  • n8n_delete_execution -删除执行记录
  • n8n_retry_execution -重试失败的执行

凭证管理(4个工具)

  • n8n_create_credential -创建新凭据
  • n8n_delete_credential -删除凭据
  • n8n_get_credential_schema -获取凭据架构
  • n8n_transfer_credential -转账凭证

变量管理(4个工具)

  • n8n_list_variables -列出环境变量
  • n8n_create_variable -创建新变量
  • n8n_update_variable -更新现有变量
  • n8n_delete_variable -删除变量

标签管理(5个工具)

  • n8n_list_tags -列出所有标签
  • n8n_create_tag -创建新标签
  • n8n_get_tag -获取标签详细信息
  • n8n_update_tag -更新标签名称
  • n8n_delete_tag -删除标签

用户管理(5个工具)

  • n8n_list_users -列出所有用户
  • n8n_create_user -创建新用户
  • n8n_get_user -获取用户详细信息
  • n8n_delete_user -删除用户
  • n8n_update_user_role -更新用户角色

项目管理(7个工具)

  • n8n_list_projects -列出所有项目
  • n8n_create_project -创建新项目
  • n8n_update_project -更新项目详细信息
  • n8n_delete_project -删除项目
  • n8n_add_user_to_project -将用户添加到项目
  • n8n_remove_user_from_project -删除用户
  • n8n_update_user_in_project -更新用户角色

审计与监控(3个工具)

  • n8n_generate_audit -生成安全审计
  • n8n_pull_source_control -从源代码管理中拉取
  • n8n_health_check -检查实例运行状况

🔒 安全与隐私

这共享了哪些数据?

  • 只有您要求Claude从n8n获取的数据
  • 您的n8n API密钥保留在您的计算机上(在 .env 文件)
  • 不向第三方发送数据

最佳实践:

  • ✅ 永不承诺 .env 文件到Git(它在 .gitignore)
  • ✅ 如果可能,请使用只读API密钥
  • ✅ 定期旋转API密钥
  • ✅ 不要分享你的 .env 与任何人一起归档

Docker安全:

  • ✅ 以非root用户身份运行
  • ✅ 无需特权访问
  • ✅ 隔离容器环境

💡 专业提示

提示1:创建快捷方式

将常用命令另存为Claude对话,以便快速访问。

提示2:合并操作

你可以让克劳德同时做多项事情: 显示今天以来所有失败的工作流,然后重试每个工作流

提示3:使用描述性工作流名称

当您的工作流程有明确的名称,如“每日电子邮件报告”而不是“工作流程1”时,Claude的工作效果更好

提示4:要求解释

Claude可以解释工作流的作用: “解释我的‘客户入职’工作流程的作用”

提示5:实时监控

让Claude在工作流运行时检查执行状态


🚀 后续步骤

现在你已经开始工作了:

  1. ⭐ 标记此回购 如果它对你有帮助!
  2. 🔁 分享 与其他n8n用户
  3. 💬 给予反馈 -您想添加哪些功能?
  4. 🐛 报告错误 通过GitHub问题
  5. 🤝 贡献 -PR欢迎!

📞 需要帮助?

  • GitHub问题: https://github.com/Shravan1610/n8n-mcp-server/issues
  • n8n API文件: https://docs.n8n.io/api/
  • MCP文件: https://modelcontextprotocol.io/
  • Docker MCP网关: https://github.com/docker/mcp-gateway

🙏 致谢

内置:


🎯 关于本项目

这是 第1天 我30天的挑战是构建有用的人工智能集成。

内置于一个会话中。为社区开源。

更多项目即将推出! 关注每日更新。


⭐ 如果这为您节省了时间,请在GitHub上投一颗星!

使用模型上下文协议构建|42个工具|生产就绪