返回市场
MCP-n8n服务器

MCP-n8n服务器

作者:ahmadsoliman13 星标更新:2025-03-31

项目介绍

MCP n8n API Server

一个提供通过模型上下文协议(MCP)与n8n工作流交互接口的MCP服务器。

功能

  • 列出所有n8n工作流
  • 使用自定义数据触发特定工作流
  • 与Claude Desktop和其他MCP客户端集成

安装

全局安装(推荐用于远程使用)

npm install -g @ahmad.soliman/mcp-n8n-server

然后配置您的n8n连接:

  1. 在工作目录中创建一个.env文件
  2. 添加您的n8n API信息(参见下面的配置部分)

使用npx运行(无需安装)

您可以直接使用npx运行服务器:

npx -y @ahmad.soliman/mcp-n8n-server

本地安装

git clone https://github.com/ahmadsoliman/mcp-n8n-server.git
cd mcp-n8n-server
npm install

配置

创建一个包含以下变量的.env文件:

# n8n主机URL(必需)
N8N_HOST_URL=https://your-n8n-instance.com

# n8n项目ID(可选 - 仅云实例需要)
PROJECT_ID=your_project_id_here

# n8n API密钥(必需)
N8N_API_KEY=your_api_key_here

使用

作为远程MCP服务器

全局安装后,您可以将其用作Claude AI的远程MCP服务器:

  1. 使用以下JSON配置将Claude AI配置为使用此远程MCP服务器:
{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": ["-y", "@ahmad.soliman/mcp-n8n-server"],
      "env": {
        "N8N_HOST_URL": "",
        "PROJECT_ID": "",
        "N8N_API_KEY": ""
      }
    }
  }
}
  1. 向Claude添加以下内容以访问n8n集成:
您可以通过远程MCP服务器访问n8n集成。使用它来:
- 列出所有n8n工作流
- 触发webhooks和工作流
- 获取可用webhooks的信息

作为本地MCP服务器

您可以本地运行服务器并从Claude Desktop连接到它:

# 启动服务器
npm start

然后配置Claude Desktop以使用此MCP服务器:

编辑~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": ["-y", "@ahmad.soliman/mcp-n8n-server"],
      "env": {
        "N8N_HOST_URL": "",
        "PROJECT_ID": "",
        "N8N_API_KEY": ""
      }
    }
  }
}

或者,如果您已本地克隆了该存储库:

{
  "mcpServers": {
    "n8n-server": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/server-n8n/build/index.js"]
    }
  }
}

设置

  1. 安装依赖项:
npm install
  1. 配置环境变量:
  • .env.example复制到.env(如果尚未完成)
  • 更新.env中的以下变量:
  1. 启动服务器:
# 启动MCP服务器(用于与Claude Desktop和其他MCP客户端集成)
npm run mcp

对于开发时自动重新加载:

npm run dev

MCP工具(用于LLM集成)

MCP服务器提供了以下工具供Claude Desktop或其他MCP客户端使用:

列出工作流

list-workflows工具返回所有可用的n8n工作流列表。

列出工作流Webhooks

list-workflow-webhooks工具返回特定工作流的所有webhooks。

参数:

  • id:要获取webhooks的工作流ID

调用Webhook(GET)

call-webhook-get工具允许使用GET请求调用webhook。

参数:

  • url:要调用的webhook URL

调用Webhook(POST)

call-webhook-post工具允许使用POST请求调用webhook。

参数:

  • url:要调用的webhook URL
  • data:要在POST请求正文中发送的数据