跳至内容

MCP服务器触发器节点#

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

Credentials

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

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

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

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

您可以通过Custom n8n Workflow Tool节点将n8n工作流公开给客户使用。

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

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

节点参数#

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

MCP URL#

MCP服务器触发器节点有两个MCP 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,则可能需要这样做。

路径字段可以采用以下格式:

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

模板和示例#

Build an MCP Server with Google Calendar and Custom Functions

作者:Solomon

查看模板详情
Build your own N8N Workflows MCP Server

作者:Jimleuk

查看模板详情
AI-Powered Telegram Task Manager with MCP Server

作者:Francis Njenga

查看模板详情
浏览MCP服务器触发器集成模板, or 搜索所有模板

与Claude桌面版集成#

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

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "<MCP_URL>",
        "--header",
        "Authorization: Bearer <MCP_BEARER_TOKEN>"
      ]
    }
  }
}

请确保将占位符替换为您的MCP服务器触发器节点参数和凭据中的实际值。

限制#

配置带有Webhook副本的MCP服务器触发器节点#

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

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

运行多个webhook副本时需谨慎

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

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

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

常见问题#

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

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

当在类似nginx的反向代理后运行n8n时,如果MCP端点未配置SSE,您可能会遇到问题。

具体来说,您需要为该端点禁用代理缓冲。其他可能需要调整的选项包括禁用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 '';

    # The rest of your proxy headers and settings
    # . . .
}
优云智算