【n8n教程】:MCP Server Trigger节点,让你的工作流秒变AI工具!

你有没有想过,让 AI(比如 Claude)直接调用你的 n8n 工作流?或者让你的工作流变成一个可复用的"工具"供外部使用?这正是 MCP Server Trigger 的魔力所在!

MCP(Model Context Protocol)是一种标准协议,它让 AI 模型能够安全地调用你的工作流,就像调用一个真实的函数一样。而 MCP Server Trigger 节点就是实现这一切的关键。

本教程将带你一步步了解这个强大的功能,最后还会有一个完整可执行的工作流案例!


点击获取最新AI资讯、n8n工作流、开发经验分享

🎯 核心概念

什么是 MCP Server Trigger?

MCP Server Trigger 是 n8n 的一个特殊触发节点,它的作用是:

  • 暴露工作流:将你的 n8n 工作流变成一个可被外部调用的"服务"
  • 生成端点:自动创建一个唯一的 URL,外部应用可以通过这个 URL 调用你的工作流
  • 连接工具:连接其他 n8n 节点,形成一套完整的工具集

MCP Server Trigger vs 普通 Trigger 的区别

功能 普通 Trigger MCP Server Trigger
工作方式 监听事件,自动触发 等待外部请求,按需触发
输出方式 数据传给下一个节点 数据通过 MCP 协议返回给客户端
适用场景 内部自动化流程 暴露给 AI 或第三方调用
连接节点 可连接任何节点 仅连接"工具节点"

🚀 快速上手三步走

第一步:添加 MCP Server Trigger 节点

  1. 打开 n8n → 创建新工作流
  2. 点击"+"添加节点 → 搜索 MCP Server Trigger
  3. 选中并添加该节点
搜索框输入:MCP Server Trigger
选择第一个选项,点击确认

第二步:配置节点参数

打开节点后,你会看到这些关键参数:

参数 说明 示例
MCP URL 路径 自动生成的唯一路径,可自定义 /mcp/my-tools
认证方式 选择保护方式(测试选"无") Bearer Token / Header Auth
生产/测试 URL 生产 URL 在工作流激活时使用 复制后用于 AI 客户端

快速配置(推荐初学者):

  • 认证方式:先选 None(测试阶段)
  • 其他参数保持默认
  • 点击 Activate workflow 激活工作流

激活后,你就能看到工作流顶部显示的 MCP URL,这就是外部应用要调用的地址!

第三步:连接工具节点

MCP Server Trigger 的强大之处在于能连接多个工具:

  1. 从 MCP Server Trigger 节点拖出连接线
  2. 搜索并添加你要暴露的工具节点(如 HTTP Request、Gmail、Google Calendar 等)
  3. 每个工具对应一个功能,比如:
    • 工具 1:获取天气信息
    • 工具 2:发送邮件通知
    • 工具 3:更新日程

📊 工作原理详解

MCP 通信流程

外部 AI 客户端(如 Claude)
        ↓
    发送请求到 MCP URL
        ↓
  MCP Server Trigger 接收
        ↓
   执行对应的工具节点
        ↓
   返回结果给客户端

三个关键概念

概念 含义 举例
Test URL 测试环境用,工作流不需要激活 开发和调试阶段用
Production URL 生产环境用,工作流必须处于激活状态 AI 长期连接调用
Tool Node 暴露给外部的具体功能 一个工具节点 = 一个可调用的功能

⚙️ 常见配置场景

场景 1:暴露 HTTP API

需要让 AI 调用某个 API?这样做:

  1. 添加 MCP Server Trigger 节点
  2. 连接 HTTP Request 节点(配置 API 参数)
  3. 激活工作流,复制 MCP URL
  4. 在 Claude Desktop 或其他 MCP 客户端中添加这个 URL

场景 2:多工具组合

让 AI 能同时使用多个工具:

  1. 添加 MCP Server Trigger 节点
  2. 连接第一个工具(如 Google Calendar - 创建事件)
  3. 再连接第二个工具(如 Gmail - 发送邮件)
  4. 再连接第三个工具(如 Notion - 记录)
  5. 激活并复制 URL

现在 AI 可以一次调用获取所有可用工具!


🔐 安全性提示

为什么要配置认证?

你的 MCP Server Trigger 暴露在互联网上,如果没有认证保护,任何人都能调用它!

推荐做法

环境 认证方式 适用场景
测试 无(None) 本地开发、学习阶段
生产 Bearer Token 推荐,用 API 密钥保护
生产 Header Auth 自定义认证头信息

快速设置 Bearer Token:

  1. 生成一个随机字符串(如:sk-1234abcd
  2. 在 MCP Server Trigger 的 Authentication 选项选 Bearer auth
  3. 输入你的 token
  4. 告诉 AI 客户端这个 token,它会在每次请求时自动附上

⚡ 实战案例:天气查询工具

下面是一个完整的可执行工作流,演示如何将一个"天气查询"功能暴露为 MCP 工具。

工作流说明

这个工作流做的事情:

  1. 接收来自 MCP 客户端的城市名称
  2. 调用开源天气 API
  3. 返回格式化的天气信息

完整工作流 JSON

{
  "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
          }
        ]
      ]
    }
  }
}

使用方法

  1. 复制上面的 JSON
  2. 在 n8n 中 → 点击 Import from URL/JSON
  3. 粘贴 JSON → 导入工作流
  4. 激活工作流 → 复制 MCP URL
  5. 在 Claude 或其他 MCP 客户端中配置 这个 URL

现在 AI 就能通过这个工作流查询天气了!


🐛 常见问题排查

问题 1:工作流激活后没看到 MCP URL

原因: 工作流可能未成功激活

解决:

  • 检查工作流右上角的 Active 按钮是否已打开
  • 查看浏览器控制台是否有报错信息

问题 2:MCP 客户端连接失败

原因: 认证信息不匹配或 URL 错误

解决:

  • 确认复制的 URL 是完整的(包括 http://https://
  • 如果设置了 Bearer token,确认客户端有正确输入
  • 尝试切换 Test URL 调试

问题 3:工作流中的参数无法接收

原因: 参数表达式写法错误

解决:

  • 确保使用 $json.paramName 格式访问参数
  • 检查参数名大小写是否正确
  • 可以在节点运行时查看 Input 数据结构

💡 最佳实践

✅ 该做的事

  • ✅ 为每个工具写清楚的描述,让 AI 理解何时调用
  • ✅ 设定合理的参数验证,避免无效请求
  • ✅ 在生产环境启用认证,保护你的工作流
  • ✅ 定期监控 Executions 页面,了解工具使用情况
  • ✅ 给工具取有意义的名字(如 get_weathersend_email

❌ 不该做的事

  • ❌ 暴露敏感操作(如删除数据库记录)给不信任的 AI
  • ❌ 在测试完全之前就用于生产
  • ❌ 忘记在生产环境启用认证
  • ❌ 设计过于复杂的工作流,导致 AI 难以理解
  • ❌ 忽视工作流的错误日志

🎓 下一步学习

掌握了 MCP Server Trigger 后,你可以尝试:

  1. MCP Client Tool:让 n8n 去调用外部 MCP 服务
  2. Custom n8n Workflow Tool:将子工作流作为工具暴露
  3. 多 MCP 服务器协作:构建更复杂的自动化系统
  4. Claude Desktop 集成:在 Claude 中直接使用你的 n8n 工具

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐