N8N中文教程
集成节点/Built in_nodes/Core_nodes

MCP 服务器触发节点#

使用 MCP 服务器触发节点可以让 n8n 作为 模型上下文协议 (MCP) 服务器运行,使 n8n 工具和工作流能够被 MCP 客户端访问。

凭据

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

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

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

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

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

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

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

节点参数#

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

MCP URL#

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

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

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

认证#

您可以为连接到 MCP URL 的客户端设置认证要求。可选择以下认证方式:

  • Bearer 认证
  • 头部认证

有关设置每种凭证类型的详细信息,请参阅 HTTP 请求凭证。

路径#

默认情况下,此字段包含随机生成的 MCP URL 路径,以避免与其他 MCP 服务器触发节点冲突。 您可以手动指定 URL 路径,包括添加路由参数。例如,如果您使用 n8n 进行 API 原型设计并需要保持一致的端点 URL,则可能需要执行此操作。

模板和示例#

使用 Google 日历和自定义功能构建 MCP 服务器 作者:Solomon 查看模板详情 构建您自己的 N8N 工作流 MCP 服务器 作者:Jimleuk 查看模板详情 使用 MCP 构建基于 Google Gemini、Gmail 和日历的个人助手 作者:Aitor | 1Node 查看模板详情 浏览 MCP 服务器触发集成模板,或搜索所有模板

与 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_URL><MCP_BEARER_TOKEN> 占位符替换为您的 MCP 服务器触发器节点参数和凭据中的实际值。

限制#

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

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

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

运行多个 Webhook 副本时的注意事项 如果运行具有多个 Webhook 副本的 MCP 服务器触发器节点,但未将所有 /mcp* 请求路由到单个专用的 Webhook 副本,则您的 SSE 和可流式传输 HTTP 连接将频繁中断或无法可靠传递事件。

相关资源#

n8n 还提供了一个 MCP 客户端工具 节点,允许您将 n8n AI 代理连接到外部工具。 有关该协议、服务器和客户端的更多详细信息,请参阅 MCP 文档 和 MCP 规范。

常见问题#

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

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

当在类似 nginx 的反向代理后运行 n8n 时,如果 MCP 端点未配置为支持 SSE 或可流式传输 HTTP,您可能会遇到问题。 具体来说,您需要为该端点禁用代理缓冲。您可能还需要调整的其他项目包括禁用 gzip 压缩(n8n 会自行处理)、禁用分块传输编码,并将 Connection 设置为空字符串以将其从转发的标头中移除。在 MCP 端点中显式禁用这些设置可确保它们不会从 nginx 配置的其他位置继承。

一个使用这些设置处理 MCP 流量的 nginx location 块示例如下所示:

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

# 其余的代理标头和设置
# . . .

}


---|---