小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
158
最近更新:13天前

提供与n8n API交互工具和资源的MCP服务器

n8n MCP 服务器

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

概述

该MCP服务器为AI助手提供了管理和操作n8n工作流所需的工具和资源,主要功能包括:

  • 列出、创建、更新和删除工作流
  • 激活和停用工作流
  • 执行工作流并监控其状态
  • 访问工作流信息和执行统计数据

安装

先决条件

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

通过npm安装

bash 复制代码
npm install -g n8n-mcp-server

从源码安装

bash 复制代码
# 克隆仓库
git clone https://github.com/leonardsellem/n8n-mcp-server.git
cd n8n-mcp-server

# 安装依赖
npm install

# 构建项目
npm run build

# 可选:全局安装
npm install -g .

配置

在运行服务器的目录中创建.env文件,使用.env.example作为模板:

bash 复制代码
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 启用调试日志(可选) truefalse

生成n8n API密钥

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

使用

运行服务器

在安装目录下执行:

bash 复制代码
n8n-mcp-server

或全局安装后直接运行:

bash 复制代码
n8n-mcp-server

与AI助手集成

构建服务器(npm run build)后,需要配置AI助手(如VS Code的Claude扩展或Claude桌面应用)来运行它。这通常涉及编辑JSON配置文件。

示例配置(如在VS Code的settings.json或Claude桌面的claude_desktop_config.json中):

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", // 替换为你的密钥
        // 仅在计划使用webhook工具时添加webhook凭据
        // "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

可用工具

服务器提供以下工具:

使用Webhook

该MCP服务器支持通过n8n webhook执行工作流。使用方法:

  1. 在n8n中创建webhook触发的工作流
  2. 在webhook节点上设置基本身份验证
  3. 使用run_webhook工具触发工作流,仅需传递工作流名称

示例:

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

Webhook身份验证会自动使用N8N_WEBHOOK_USERNAMEN8N_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}: 特定执行详情

开发

构建

bash 复制代码
npm run build

开发模式运行

bash 复制代码
npm run dev

测试

bash 复制代码
npm test

代码检查

bash 复制代码
npm run lint

许可证

MIT