Skip to content

MCP 服务器触发器节点#

使用 MCP 服务器触发器节点可以让 n8n 作为 Model Context Protocol (MCP) 服务器运行,使 n8n 工具和工作流可供 MCP 客户端访问。

凭证

您可以在此处找到该节点的认证信息。

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

MCP 服务器触发器节点作为 MCP 客户端进入 n8n 的入口点。它通过暴露一个 URL 来运作,MCP 客户端可以通过该 URL 与 n8n 工具进行交互。

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

您可以通过附加自定义 n8n 工作流工具节点将 n8n 工作流暴露给客户端。

服务器发送事件 (SSE) 支持

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

节点参数#

使用以下参数配置您的节点。

MCP URL#

MCP Server Trigger 节点提供两种 MCP URL:测试版和生产版。n8n 会在节点面板顶部显示这些 URL。

通过选择 Test URLProduction URL 来切换 n8n 显示的 URL 类型。

  • 测试版:当您选择 Listen for Test EventExecute workflow(如果工作流未激活)时,n8n 会注册一个测试版 MCP URL。调用该 URL 时,n8n 会在工作流中显示数据。
  • 生产版:当您激活工作流时,n8n 会注册一个生产版 MCP URL。使用生产版 URL 时,n8n 不会在工作流中显示数据。您仍可以查看生产版执行的数据:在工作流中选择 Executions 选项卡,然后选择要查看的工作流执行记录。

认证#

您可以要求客户端连接 MCP URL 时进行身份验证。可选择以下认证方式:

  • Bearer 认证
  • 请求头认证

有关每种凭证类型的设置详情,请参阅 HTTP 请求凭证

路径#

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

您可以手动指定 URL 路径,包括添加路由参数。例如,如果您使用 n8n 进行 API 原型设计并需要保持一致的端点 URL,就可能需要这样做。

Path 字段支持以下格式:

  • /:variable
  • /path/:variable
  • /:variable/path
  • /:variable1/path/:variable2
  • /:variable1/:variable2

模板与示例#

Build an MCP Server with Google Calendar and Custom Functions

by Solomon

View template details
Build your own N8N Workflows MCP Server

by Jimleuk

View template details
💥🛠️Build a Web Search Chatbot with GPT-4o and MCP Brave Search

by Joseph LePage

View template details
Browse MCP 服务器触发器(MCP Server Trigger) integration templates, or search all templates

与 Claude Desktop 集成#

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

为此,请将以下内容添加到您的 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_URL><MCP_BEARER_TOKEN> 占位符替换为您的 MCP Server Trigger 节点参数和凭证中的实际值。

限制#

使用 webhook 副本配置 MCP Server Trigger 节点#

MCP Server Trigger 节点依赖于服务器发送事件 (SSE),这需要相同的服务器实例来处理持久连接。根据您的 webhook 处理器 配置,在 队列模式 下运行 n8n 时可能会出现问题:

  • 如果您使用 单个 webhook 副本 的队列模式,MCP Server Trigger 节点将按预期工作。
  • 如果您运行 多个 webhook 副本,则需要将所有 /mcp* 请求路由到单个专用的 webhook 副本。创建一个单独包含一个 webhook 容器的副本集来处理 MCP 请求。之后更新您的入口或负载均衡器配置,将所有 /mcp* 流量定向到该实例。

运行多个 webhook 副本时的注意事项

如果您在多个 webhook 副本下运行 MCP Server Trigger 节点,并且没有将所有 /mcp* 请求路由到单个专用的 webhook 副本,您的 SSE 连接将频繁中断或无法可靠地传递事件。

相关资源#

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

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

常见问题#

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

通过反向代理运行 MCP 服务器触发器节点#

当在 nginx 等反向代理后运行 n8n 时,如果 MCP 端点未配置为支持 SSE(服务器发送事件),可能会遇到问题。

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

以下是一个配置了这些设置的 nginx location 块示例,用于处理 MCP 流量:

 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 '';

    # 其他代理标头和设置
    # . . .
}