你有没有想过,让 AI(比如 Claude)直接调用你的 n8n 工作流?或者让你的工作流变成一个可复用的"工具"供外部使用?这正是 MCP Server Trigger 的魔力所在!
MCP(Model Context Protocol)是一种标准协议,它让 AI 模型能够安全地调用你的工作流,就像调用一个真实的函数一样。而 MCP Server Trigger 节点就是实现这一切的关键。
本教程将带你一步步了解这个强大的功能,最后还会有一个完整可执行的工作流案例!
MCP Server Trigger 是 n8n 的一个特殊触发节点,它的作用是:
| 功能 | 普通 Trigger | MCP Server Trigger |
|---|---|---|
| 工作方式 | 监听事件,自动触发 | 等待外部请求,按需触发 |
| 输出方式 | 数据传给下一个节点 | 数据通过 MCP 协议返回给客户端 |
| 适用场景 | 内部自动化流程 | 暴露给 AI 或第三方调用 |
| 连接节点 | 可连接任何节点 | 仅连接"工具节点" |
MCP Server Trigger搜索框输入:MCP Server Trigger
选择第一个选项,点击确认打开节点后,你会看到这些关键参数:
| 参数 | 说明 | 示例 |
|---|---|---|
| MCP URL 路径 | 自动生成的唯一路径,可自定义 | /mcp/my-tools |
| 认证方式 | 选择保护方式(测试选"无") | Bearer Token / Header Auth |
| 生产/测试 URL | 生产 URL 在工作流激活时使用 | 复制后用于 AI 客户端 |
快速配置(推荐初学者):
None(测试阶段)Activate workflow 激活工作流激活后,你就能看到工作流顶部显示的 MCP URL,这就是外部应用要调用的地址!
MCP Server Trigger 的强大之处在于能连接多个工具:
外部 AI 客户端(如 Claude)
↓
发送请求到 MCP URL
↓
MCP Server Trigger 接收
↓
执行对应的工具节点
↓
返回结果给客户端| 概念 | 含义 | 举例 |
|---|---|---|
| Test URL | 测试环境用,工作流不需要激活 | 开发和调试阶段用 |
| Production URL | 生产环境用,工作流必须处于激活状态 | AI 长期连接调用 |
| Tool Node | 暴露给外部的具体功能 | 一个工具节点 = 一个可调用的功能 |
需要让 AI 调用某个 API?这样做:
让 AI 能同时使用多个工具:
现在 AI 可以一次调用获取所有可用工具!
你的 MCP Server Trigger 暴露在互联网上,如果没有认证保护,任何人都能调用它!
| 环境 | 认证方式 | 适用场景 |
|---|---|---|
| 测试 | 无(None) | 本地开发、学习阶段 |
| 生产 | Bearer Token | 推荐,用 API 密钥保护 |
| 生产 | Header Auth | 自定义认证头信息 |
快速设置 Bearer Token:
sk-1234abcd)Bearer auth下面是一个完整的可执行工作流,演示如何将一个"天气查询"功能暴露为 MCP 工具。
这个工作流做的事情:
{
"nodes": [
{
"parameters": {
"authentication": "none",
"path": "/mcp/weather-tool"
},
"id": "MCP Server Trigger",
"name": "MCP Server Trigger",
"type": "n8n-nodes-langchain.mcpTrigger",
"typeVersion": 1,
"position": [100, 200]
},
{
"parameters": {
"url": "https://api.open-meteo.com/v1/forecast",
"requestMethod": "GET",
"queryParameters": {
"parameters": [
{
"name": "latitude",
"value": "={{$json.latitude}}"
},
{
"name": "longitude",
"value": "={{$json.longitude}}"
},
{
"name": "current",
"value": "temperature_2m,weather_code"
}
]
}
},
"id": "HTTP Request",
"name": "获取天气数据",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4,
"position": [300, 200]
},
{
"parameters": {
"jsonOutput": "{ temperature: $json.current.temperature_2m, weatherCode: $json.current.weather_code, timestamp: $json.current.time }"
},
"id": "Set Data",
"name": "格式化结果",
"type": "n8n-nodes-base.set",
"typeVersion": 3,
"position": [500, 200]
}
],
"connections": {
"MCP Server Trigger": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Set Data",
"type": "main",
"index": 0
}
]
]
}
}
}现在 AI 就能通过这个工作流查询天气了!
原因: 工作流可能未成功激活
解决:
Active 按钮是否已打开原因: 认证信息不匹配或 URL 错误
解决:
http:// 或 https://)原因: 参数表达式写法错误
解决:
$json.paramName 格式访问参数get_weather、send_email)掌握了 MCP Server Trigger 后,你可以尝试:
[1] 官方文档: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcptrigger/
[2] n8n系列教程: https://www.undsky.com/blog/?category=n8n%E6%95%99%E7%A8%8B#