Skip to content

MCP 服务器触发器节点

使用 MCP 服务器触发器节点允许 n8n 充当模型上下文协议 (MCP)服务器,从而使 n8n 工具和工作流程可供 MCP 客户端使用。

证书

您可以在此处找到此节点的身份验证信息。

MCP 服务器触发器节点的工作原理

MCP 服务器触发器节点是 MCP 客户端访问 n8n 的入口点。它通过公开一个 URL 进行操作,以便 MCP 客户端可以与之交互以访问 n8n 工具。

与传统的触发节点(响应事件并将其输出传递到下一个连接的节点)不同,MCP 服务器触发器节点仅连接并执行工具节点。客户端可以列出可用的工具并调用各个工具来执行工作。

您可以通过将 n8n 工作流与自定义 n8n 工作流工具节点连接起来,向客户端公开 n8n 工作流。

服务器发送事件 (SSE) 和可流式传输的 HTTP 支持

MCP 服务器触发器节点支持服务器发送事件 (SSE) (一种基于 HTTP 构建的长寿命传输协议)以及用于客户端与服务器之间连接的流式 HTTP 协议。目前,它不支持标准输入/输出 (stdio)传输。

节点参数

使用这些参数来配置您的节点。

MCP 网址

MCP 服务器触发器节点有两个MCP URL :测试和生产。n8n 在节点面板顶部显示 URL。

选择测试 URL生产 URL来切换 n8n 显示的 URL。

  • 测试:如果您选择“监听测试事件”“执行工作流” (如果工作流未激活), n8n 会注册一个测试 MCP URL 。当您调用 MCP URL 时,n8n 会显示工作流中的数据。
  • 生产:当您激活工作流时,n8n 会注册一个生产 MCP URL。使用生产 URL 时,n8n 不会显示工作流中的数据。您仍然可以查看生产执行的工作流数据:在工作流中选择“执行”选项卡,然后选择要查看的工作流执行。

验证

您可以要求连接到 MCP 网址的客户端进行身份验证。您可以从以下身份验证方法中选择:

  • 持有者授权
  • 标头授权

有关设置每种凭证类型的更多信息,请参阅HTTP 请求凭证

小路

默认情况下,此字段包含随机生成的 MCP URL 路径,以避免与其他 MCP Server Trigger 节点冲突。

您可以手动指定 URL 路径,包括添加路由参数。例如,如果您使用 n8n 构建 API 原型,并且希望端点 URL 保持一致,则可能需要执行此操作。

模板和示例

没有任何

与 Claude Desktop 集成

您可以通过运行网关将 SSE 消息代理到基于 stdio 的服务器,从Claude Desktop连接到 MCP 服务器触发器节点。

为此,请将以下内容添加到您的 Claude Desktop 配置中:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "<MCP_URL>",
        "--header",
        "Authorization: Bearer ${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "<MCP_BEARER_TOKEN>"
      }
    }
  }
}

请务必将和占位符替换为 MCP 服务器触发器节点参数和凭据的值。

限制

使用 webhook 副本配置 MCP 服务器触发器节点

MCP 服务器触发器节点依赖于服务器发送事件 (SSE) 或可流式传输的 HTTP,它们需要相同的服务器实例来处理持久连接。这可能会导致在队列模式下运行 n8n 时出现问题,具体取决于您的webhook 处理器配置:

  • 如果您使用带有单个 webhook 副本的队列模式,则 MCP 服务器触发器节点将按预期工作。
  • 如果您运行多个 Webhook 副本,则需要将所有请求路由到单个专用的 Webhook 副本。请为 MCP 请求创建一个包含一个 Webhook 容器的单独副本集。之后,更新您的 Ingress 或负载均衡器配置,将所有流量定向到该实例。

使用多个 webhook 副本运行时需谨慎

如果您运行具有多个 webhook 副本的 MCP 服务器触发器节点,并且没有将所有请求路由到单个专用的 webhook 副本,则您的 SSE 和可流式传输的 HTTP 连接将频繁中断或无法可靠地传递事件。

n8n 还提供了一个MCP 客户端工具节点,允许您将 n8n AI 代理连接到外部工具。

有关协议、服务器和客户端的更多详细信息,请参阅MCP 文档MCP 规范

常见问题

以下是 MCP 服务器触发器节点的一些常见错误和问题以及解决或排除故障的步骤。

使用反向代理运行 MCP 服务器触发器节点

当在 nginx 等反向代理后面运行 n8n 时,如果 MCP 端点未配置为 SSE 或可流式传输的 HTTP,则可能会遇到问题。

具体来说,您需要禁用端点的代理缓冲。其他可能需要调整的选项包括禁用 gzip 压缩(n8n 会自行处理)、禁用分块传输编码,以及将 设置为空字符串以将其从转发标头中移除。在 MCP 端点中明确禁用这些选项可确保它们不会从 nginx 配置中的其他地方继承。

使用这些设置来服务 MCP 流量的 nginx 位置块示例可能如下所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
location /mcp/ {
    proxy_http_version          1.1;
    proxy_buffering             off;
    gzip                        off;
    chunked_transfer_encoding   off;

    proxy_set_header            Connection '';

    # The rest of your proxy headers and settings
    # . . .
}