跳到主要内容

10. AI 与 MCP:第二种数据流进入 n8n

10.1 AI 节点不是普通 API 节点

传统工作流是:main input → action → main output。AI 工作流还需要给 Agent 提供模型、记忆、工具、输出解析器和 retriever。这些是“被调用的能力”,通常通过 typed non-main connection 连接到 AI 根节点。

find-subgraph.ts 中,非 main 连接被视为 AI root 的辅助节点,不应被当作从 trigger 到 destination 的普通主路径。这是 n8n 把 AI 作为图的一等公民、而不是在某个节点里藏一段黑盒 agent loop 的关键。

10.2 LangChain 节点包

packages/@n8n/n8n-nodes-langchain 里存在模型、Agent、tool、memory、vector store、output parser 等节点。它们遵循 n8n 的 node description/credential/context 契约,同时把 LangChain runnable 或 callback 适配到 n8n 的执行数据和错误模型。

相关基础包:

10.3 Agent 调用工具时发生了什么

一次 Agent execution 可以抽象成嵌套循环:

main workflow execution
→ AI Agent node
→ model decides tool call
→ tool node / MCP tool executes
→ tool result returned to agent
→ model continues or returns final answer
→ main output

工具调用并不一定表现为普通主线节点的一次线性经过。执行器需要保留 AI request、工具名、参数、观察结果和错误;部分执行工具链时,partial-execution-utils/rewire-graph.ts 会把工具执行请求转换成可运行的虚拟图,保证上下文和连接关系仍能被 core 理解。

10.4 MCP 的两个方向

n8n 既可以作为 MCP client 消费外部工具,也可以把 workflow/节点暴露为 MCP server 能力。源码中可见 packages/cli/src/modules/mcp、MCP OAuth/protected resource resolver、@n8n/mcp-browser@n8n/mcp-apps

边界要点:

  • 外部 MCP URL 是用户控制输入,需要 SSRF 策略和长超时控制。
  • MCP tool 的 schema 必须映射成 n8n 节点参数或 tool input。
  • MCP OAuth callback 与普通 API auth 的浏览器导航约束不同。
  • 工具结果必须回到当前 execution,而不能只存在连接层内存。

10.5 AI 观测和评估

AI 调用的延迟、token、模型响应和工具轨迹通常比普通 HTTP 节点更难调试。n8n 的 instance AI、agent evaluation、observation log 和 LangSmith 相关模块形成了实验/评估边界。阅读时把“面向用户的 AI workflow”与“用于构建/评估 n8n 自身 AI 能力的 instance AI”分开,二者共享基础设施但产品目标不同。

10.6 设计取舍

typed auxiliary connections让模型/工具/记忆可组合;代价是图算法、UI handles、校验和 execution tracing 都比纯 main 图复杂。

复用 LangChain快速获得生态;代价是 n8n 自己必须做 context、credentials、serialization、telemetry 和错误适配,不能把 LangChain 对象直接当成持久化模型。

MCP 作为协议边界方便跨系统暴露工具;代价是安全、授权、SSRF、schema 演进和超时都必须按不可信外部服务处理。