返回市场
工作流管理服务器

工作流管理服务器

作者:leonardsellem1468 星标更新:2025-07-10

项目介绍

技术文档摘要

n8n MCP Server

npm 版本

这是一个模型上下文协议(MCP)服务器,允许AI助手通过自然语言与n8n工作流进行交互。

概述

该项目提供了一个模型上下文协议(MCP)服务器,使AI助手能够无缝地与n8n(一个流行的流程自动化工具)进行交互。它充当桥梁,使AI助手能够使用自然语言命令来编程管理n8n工作流和执行。

安装

先决条件

  • Node.js 20 或更高版本
  • 启用了API访问的n8n实例

从npm安装

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运行服务器:

# 拉取镜像
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

更新服务器

如何更新服务器取决于你最初是如何安装它的。

1. 通过npm全局安装

如果你是使用npm install -g @leonardsellem/n8n-mcp-server安装的服务器:

  1. 打开你的终端或命令提示符。
  2. 运行以下命令以获取最新版本:
    npm install -g @leonardsellem/n8n-mcp-server@latest
    
  3. 如果服务器当前正在运行(例如作为后台进程或服务),你需要重启它以使更改生效。

2. 从源代码安装

如果你克隆了仓库并从源代码安装:

  1. 打开你的终端或命令提示符。
  2. 导航到你克隆项目的目录:
    cd path/to/n8n-mcp-server
    
  3. 如果你对代码进行了任何本地更改并希望保留这些更改,请考虑暂存它们(可选):
    git stash
    
    之后可以使用git stash pop应用它们。
  4. 从仓库拉取最新的更改(假设你在main分支上):
    git pull origin main
    
    如果你在不同的分支上,请用你的分支名替换main
  5. 安装或更新任何更改过的依赖项:
    npm install
    
  6. 重新构建项目以包含最新更新:
    npm run build
    
  7. 如果你之前是从这个源码文件夹全局安装的,你可能需要再次运行此命令以更新全局链接:
    npm install -g .
    
  8. 重启服务器。
    • 如果你使用类似node build/index.js的命令直接在AI助手的MCP配置中运行服务器,请确保路径仍然正确。使用npm install -g .然后使用n8n-mcp-server作为命令应该保持一致性。

3. 使用Docker

如果你是使用Docker运行服务器:

  1. 从Docker Hub拉取最新镜像:
    docker pull leonardsellem/n8n-mcp-server:latest
    
  2. 停止并删除旧容器。你需要容器的名字或ID(你可以使用docker ps找到它):
    docker stop <your_container_name_or_id>
    docker rm <your_container_name_or_id>
    
  3. 使用更新的镜像启动新容器。使用你之前使用的相同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完整URLhttp://localhost:5678/api/v1
N8N_API_KEY用于与n8n身份验证的API密钥n8n_api_...
N8N_WEBHOOK_USERNAME网络钩子认证的用户名(如果使用网络钩子)username
N8N_WEBHOOK_PASSWORD网络钩子认证的密码password
DEBUG启用调试日志(可选)truefalse

生成n8n API密钥

  1. 在浏览器中打开你的n8n实例
  2. 转到设置 > API > API密钥
  3. 创建一个新的具有适当权限的API密钥
  4. 将密钥复制到你的.env文件中

使用

运行服务器

从安装目录:

n8n-mcp-server

或者如果全局安装:

n8n-mcp-server

与AI助手集成

构建服务器后(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/替换为你实际克隆和构建仓库的绝对路径。
  • 使用正确的路径分隔符(macOS/Linux上的正斜杠/,Windows上的双反斜杠\\)。
  • 确保提供正确的N8N_API_URL(包括/api/v1)和N8N_API_KEY
  • 在助手可以运行build/index.js文件之前,服务器需要被构建(npm run build)。

可用工具

该服务器提供了以下工具:

使用网络钩子

此MCP服务器支持通过n8n网络钩子执行工作流。要使用此功能:

  1. 在n8n中创建一个由网络钩子触发的工作流。
  2. 在你的网络钩子节点上设置基本认证。
  3. 使用run_webhook工具触发工作流,只需传递工作流名称即可。

示例:

const result = await useRunWebhook({
  workflowName: "hello-world", // 将调用<n8n-url>/webhook/hello-world
  data: {
    prompt: "Hello from AI assistant!"
  }
});

网络钩子认证会自动使用N8N_WEBHOOK_USERNAMEN8N_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问题页面上打开一个问题来报告它。

提交错误报告时,请包括以下内容:

  • 清晰描述性的标题。
  • 错误的详细描述,包括重现错误的步骤。
  • 关于你的环境的信息(例如Node.js版本、n8n MCP服务器版本、操作系统)。
  • 任何相关的错误消息或截图。

建议改进

我们一直在寻找改进服务器的方法。如果你有关于改进或新功能的想法,请在我们的[GitHub问题页面](https://github.com/ leonardsellem/n8n-mcp-server/issues)上打开一个问题。

请提供:

  • 清晰描述性的标题。
  • 对提议改进的详细解释及其为何有益。
  • 任何潜在的用例或示例。

提交拉取请求

如果你想贡献代码,请遵循以下步骤:

  1. 分叉仓库: 创建n8n-mcp-server仓库的自己的分叉。
  2. 创建分支: 在你的分叉中为你的更改创建一个新分支(例如,git checkout -b feature/your-feature-namebugfix/issue-number)。
  3. 实现你的更改: 实现你的功能或错误修复。
    • 确保你的代码符合现有的编码风格。(我们使用Prettier进行格式化,可以通过npm run lint运行)。
    • 如果适用,请为你的更改包含测试。你可以使用npm test运行测试。
  4. 提交你的更改: 编写清晰简洁的提交消息。
  5. 推送到你的分叉: 将你的更改推送到你的分叉仓库。
  6. 打开拉取请求(PR): 向官方n8n-mcp-server仓库的main分支提交一个PR。
    • 提供清晰的标题和描述,解释你所做的更改并引用任何相关的问题。

我们将尽快审查你的PR并提供反馈。感谢你的贡献!

许可证

MIT

🚀 加入我们的团队:招募共同维护者!

这个项目是一个充满活力的社区驱动工具,被AI爱好者和开发者积极使用。目前,它是由一位热情但非资深工程师的人兼职维护,致力于将AI与工作流自动化相结合。为了帮助这个项目繁荣发展,确保其长期健康,并跟上不断增长的用户群,我们正在寻找热情的共同维护者加入团队!

为什么贡献?

  • 学习和成长: 锤炼你在TypeScript、Node.js、API集成和AI工具开发等领域的技能。
  • 协作: 与其他有动力的开发者和AI用户合作。
  • 产生影响: 直接塑造这个项目的未来,帮助构建对AI社区有价值的工具。
  • 开源: 获得参与开源项目的经验。

你能如何帮助

我们欢迎多种形式的贡献!以下是你可以做出重大贡献的一些领域:

  • 修复错误: 帮助我们识别和解决错误,提高稳定性。
  • 功能开发: 根据用户需求和你的想法实现新的工具和功能。
  • 文档: 改进指南、示例和API参考,使项目更易于访问。
  • 测试: 增强我们的测试套件(单元测试、集成测试),确保代码质量和可靠性。
  • CI/CD: 帮助简化我们的开发和部署管道。
  • 代码审查: 对拉取请求提供反馈,帮助维持代码标准。
  • 社区支持: 回答用户的问题,帮助管理讨论。

参与进来!

如果你对AI和工作流自动化的交叉感兴趣,并且正在寻找一个有意义的开源机会,我们很乐意听到你的声音!

准备好贡献了吗?

  1. 查看我们的GitHub问题页面,查找现有任务、提出新想法或表达成为共同维护者的兴趣。
  2. 你可以打开一个名为“共同维护者申请”的问题正式申请,或者直接开始为现有问题做出贡献。
  3. 或者,如果你有任何疑问,也可以随时联系现有的维护者。

让我们一起构建AI驱动的工作流自动化未来! 🙌

感谢社区的支持! 星历史图表