n8n MCP Server 使用说明

项目简介

n8n MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在让 AI 助手能够通过自然语言与 n8n 工作流进行交互。它充当 AI 助手和 n8n 自动化平台之间的桥梁,允许助手发现、管理和执行 n8n 工作流。

主要功能点

  • 工作流管理:支持 AI 助手列出、获取、创建、更新、删除、激活和停用 n8n 工作流。
  • 工作流执行:允许 AI 助手通过 API 或 Webhook 触发 n8n 工作流的执行,并监控执行状态。
  • 资源访问:提供对 n8n 工作流和执行信息的标准化资源访问接口,方便 AI 助手获取上下文数据。
  • 工具集成:注册了一系列工具,使 AI 助手能够调用 n8n 的各项功能,例如运行工作流、管理执行等。
  • Webhook 支持:通过 Webhook 工具,可以触发 n8n 中基于 Webhook 触发器的工作流。

安装步骤

  1. 环境准备

    • 确保已安装 Node.js 18 或更高版本。
    • 确保已有一个可访问的 n8n 实例,并已启用 API 访问。
  2. 安装 n8n MCP Server

    • npm 安装 (推荐):打开终端,运行以下命令全局安装:
      npm install -g 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 . # 可选:全局安装
  3. 配置服务器

    • 在你计划运行服务器的目录下,复制 '.env.example' 文件并重命名为 '.env':
      cp .env.example .env
    • 编辑 '.env' 文件,配置以下环境变量:
      • 'N8N_API_URL': 你的 n8n API 的完整 URL,包括 '/api/v1',例如 'http://localhost:5678/api/v1'
      • 'N8N_API_KEY': 用于 n8n API 身份验证的 API 密钥。你需要在 n8n 后台 (Settings -> API -> API Keys) 创建并获取。
      • 'N8N_WEBHOOK_USERNAME' (可选): 如果使用 Webhook 工具,需要配置 Webhook 认证的用户名。
      • 'N8N_WEBHOOK_PASSWORD' (可选): Webhook 认证的密码。
      • 'DEBUG' (可选): 设置为 'true' 或 'false' 以启用调试日志。

服务器配置 (MCP 客户端)

以下是一个 MCP 客户端 (例如 Claude 桌面应用或 VS Code Claude 扩展) 的 JSON 配置文件示例,用于连接到 n8n MCP Server。你需要根据你的实际安装路径和 n8n 配置进行调整。

{
  "mcpServers": {
    "n8n-local": {  // 你可以为你的服务器自定义一个名称,例如 "n8n-local"
      "command": "n8n-mcp-server", // 运行服务器的命令,全局安装后可以直接使用 n8n-mcp-server
      "args": [], // 启动命令的参数,这里不需要额外参数
      "env": { // 服务器运行所需的环境变量,与 .env 文件中的配置对应
        "N8N_API_URL": "http://your-n8n-instance:5678/api/v1", // 替换为你的 n8n 实例 API URL
        "N8N_API_KEY": "YOUR_N8N_API_KEY", // 替换为你的 n8n API 密钥
        // 如果需要使用 Webhook 工具,请配置 Webhook 用户名和密码
        // "N8N_WEBHOOK_USERNAME": "your_webhook_user",
        // "N8N_WEBHOOK_PASSWORD": "your_webhook_password"
      },
      "disabled": false, // 确保服务器启用
      "autoApprove": [] // 自动批准的工具列表,默认为空
    }
    // ... 可以配置其他 MCP 服务器
  }
}

关键配置说明:

  • '"command": "n8n-mcp-server"': 指定启动 n8n MCP Server 的命令。如果全局安装,可以直接使用 'n8n-mcp-server'。如果是源码安装,并且没有全局安装,则需要指定 'node' 命令,以及 'build/index.js' 的绝对路径,例如 '"command": "node"', '"args": ["/path/to/your/n8n-mcp-server/build/index.js"]'。
  • '"args": []': 启动命令的参数,本服务器默认情况下不需要额外的启动参数。
  • '"env": { ... }': 配置服务器运行所需的环境变量,这些变量会传递给 'n8n-mcp-server' 进程。你需要根据你的 n8n 实例配置,正确填写 'N8N_API_URL' 和 'N8N_API_KEY'。

基本使用方法

  1. 启动服务器:在安装目录下或全局环境下,运行命令 'n8n-mcp-server' 即可启动服务器。服务器默认通过 Stdio 与 MCP 客户端通信。

  2. 配置 AI 助手:在你的 AI 助手 (如 Claude) 的配置中,添加上面提供的 'mcpServers' 配置,确保配置中的 'command'、'args' 和 'env' 与你的服务器安装和 n8n 配置一致。

  3. 通过 AI 助手与 n8n 交互:配置完成后,AI 助手应该能够检测到 n8n MCP Server 提供的功能。你可以通过自然语言指示 AI 助手使用 'list_workflows', 'run_webhook' 等工具来管理和执行 n8n 工作流。

可用工具:

  • '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}': 执行详情

信息

分类

开发者工具