Skip to content

MCP Server Trigger 节点#

使用 MCP Server Trigger 节点允许 n8n 充当 Model Context Protocol (MCP) 服务器,使 n8n 工具和工作流可供 MCP 客户端使用。

凭据

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

MCP Server Trigger 节点的工作原理#

MCP Server Trigger 节点充当 MCP 客户端进入 n8n 的入口点。它通过公开一个 URL 来运行,MCP 客户端可以与该 URL 交互以访问 n8n 工具。

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

您可以通过使用 Custom n8n Workflow Tool 节点附加 n8n 工作流来向客户端公开。

Server-Sent Events (SSE) 和可流式 HTTP 支持

MCP Server Trigger 节点支持 Server-Sent Events (SSE)(一种构建在 HTTP 之上的长期传输)和可流式 HTTP,用于客户端和服务器之间的连接。它目前不支持标准输入/输出 (stdio) 传输。

节点参数#

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

MCP URL#

MCP Server Trigger 节点有两个 MCP URLs MCP URL:测试和生产。n8n 在节点面板顶部显示 URL。

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

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

Authentication 身份验证#

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

  • Bearer auth Bearer 认证
  • Header auth 标头认证

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

Path 路径#

默认情况下,此字段包含随机生成的 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 服务器触发器 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 节点依赖于 Server-Sent Events (SSE) 或可流式 HTTP,这需要同一服务器实例来处理持久连接。根据您的 webhook 处理器配置,在队列模式下运行 n8n 时可能会导致问题:

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

使用多个 webhook 副本时要小心

如果您使用多个 webhook 副本运行 MCP Server Trigger 节点,并且不将所有 /mcp* 请求路由到单个专用 webhook 副本,您的 SSE 和可流式 HTTP 连接将经常中断或无法可靠地传递事件。

相关资源#

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

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

常见问题#

以下是 MCP Server Trigger 节点的一些常见错误和问题以及解决或故障排除步骤。

使用反向代理运行 MCP Server Trigger 节点#

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

具体来说,您需要为端点禁用代理缓冲。您可能想要调整的其他项目包括禁用 gzip 压缩(n8n 自己处理这个)、禁用分块传输编码,以及将 Connection 设置为空字符串以从转发的标头中删除它。在 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
    # . . .
}