MCP Server Trigger 节点#
使用 MCP Server Trigger 节点允许 n8n 充当 模型上下文协议 (MCP) 服务器,使 n8n 工具和工作流可供 MCP 客户端使用。
凭证
您可以在这里找到此节点的认证信息。
MCP Server Trigger 节点的工作原理#
MCP Server Trigger 节点充当 MCP 客户端进入 n8n 的入口点。它通过公开一个 URL 来运行,MCP 客户端可以与该 URL 交互以访问 n8n 工具。
与传统的触发器节点不同,传统触发器节点响应事件并将其输出传递给下一个连接的节点,MCP Server Trigger 节点仅连接到并执行工具节点。客户端可以列出可用的工具并调用单个工具来执行工作。
您可以通过使用自定义 n8n 工作流工具节点附加它们来向客户端公开 n8n 工作流。
服务器发送事件 (SSE) 和可流式 HTTP 支持
MCP Server Trigger 节点支持服务器发送事件 (SSE)(构建在 HTTP 之上的长期传输)和可流式 HTTP用于客户端和服务器之间的连接。它目前不支持标准输入/输出 (stdio) 传输。
节点参数#
使用以下参数配置您的节点。
MCP URL#
MCP Server Trigger 节点有两个 MCP URL:测试和生产。n8n 在节点面板顶部显示这些 URL。
选择测试 URL或生产 URL来切换 n8n 显示的 URL。
- 测试:当您选择监听测试事件或执行工作流时,如果工作流未激活,n8n 会注册一个测试 MCP URL。当您调用 MCP URL 时,n8n 会在工作流中显示数据。
- 生产:当您激活工作流时,n8n 会注册一个生产 MCP URL。使用生产 URL 时,n8n 不会在工作流中显示数据。您仍然可以查看生产执行的工作流数据:在工作流中选择执行选项卡,然后选择您想要查看的工作流执行。
身份验证#
您可以要求连接到您的 MCP URL 的客户端进行身份验证。从以下身份验证方法中选择:
- Bearer 身份验证
- Header 身份验证
有关设置每种凭证类型的更多信息,请参阅 HTTP 请求凭证。
路径#
默认情况下,此字段包含随机生成的 MCP URL 路径,以避免与其他 MCP Server Trigger 节点冲突。
您可以手动指定 URL 路径,包括添加路由参数。例如,如果您使用 n8n 来原型化 API 并希望一致的端点 URL,您可能需要这样做。
模板和示例#
与 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 |
|
请确保将 <MCP_URL>
和 <MCP_BEARER_TOKEN>
占位符替换为您的 MCP Server Trigger 节点参数和凭证中的值。
限制#
使用 webhook 副本配置 MCP Server Trigger 节点#
MCP Server Trigger 节点依赖于服务器发送事件 (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 location 块示例可能如下所示:
1 2 3 4 5 6 7 8 9 10 11 |
|
🚀 与作者交流

📚 教程 💡 案例 🔧 技巧

⚡ 快答 🎯 定制 🚀 支持