单项目深读

n8n:把 MCP 接进 1500 个系统的可视化编排层

n8n 用可视化画布 + 自定义代码串起 1500+ 集成,原生支持 MCP client/server,让 AI 调用内部系统。本文拆解它的分层架构、部署方式与同主题定位差异。

|INS-0003

想让 AI 真正干活,卡点通常不在模型,而在模型碰不到你的系统。CRM、工单库、内部 API、数据库——这些东西没有一个是模型天生认识的。n8n 赌的是:把这些系统先接成一张可视化的工作流网,再让 AI 作为其中一个节点进来调度。

它的名字读作 "n-eight-n",来自 "nodemation"——node(Node.js 与节点视图)+ automation。这个命名本身就说明了它的结构:一切皆节点,节点连成流。

一个画布,两种写法

n8n 的定位在官网描述里写得很直白:把 AI 能力和业务流程自动化结合起来,给技术团队「代码的灵活性 + 无代码的速度」。README 的 Key Capabilities 里,这句话被拆成两条并列的能力:

  • 可视化编排:在画布上拖节点、连线、加分支逻辑、加人工审批环节。
  • 随时落回代码:需要的时候写 JavaScript、Python,甚至直接引入 npm 包。

这两条不是二选一,而是同一个工作流里的两层。一个流程可以是「HTTP 请求节点 → 代码节点做数据清洗 → AI 节点判断 → 人工审批节点 → 写回业务系统」。中间的代码节点就是逃生舱:可视化表达不了的部分,用代码补。

这也是它区别于纯 no-code 工具的地方。纯 no-code 在遇到「这个字段要按特殊规则拼装」时就开始别扭,n8n 直接让你写。

架构:四层职责

README 没有给架构图,但功能描述里能清楚归纳出四层。这不是猜的,每一层都对应 README 里真实出现的组件名。

层核心组成职责
编排层可视化画布(canvas)、节点(nodes)、连线、工作流(workflow)定义流程结构:谁先跑、谁依赖谁、哪里分支、哪里停下等人
执行层工作流运行时、Webhook 触发、定时触发、人工审批节点按编排结果实际驱动数据流转,处理多步、异步、中断恢复
集成层1500+ integrations、内置节点、自定义节点把外部系统的 API 封装成可拖拽的节点,屏蔽鉴权与协议细节
AI 与协议层AI 节点、LangChain 相关能力、MCP client / MCP server让模型参与流程,或反过来让外部 AI 客户端调用 n8n 暴露的能力

数据流转的路径是:触发(Webhook / 定时 / 手动)→ 节点逐个执行,每个节点接收上一节点的输出、产出新的数据结构 → 遇到 AI 节点时把上下文交给模型 → 遇到审批节点时挂起等待 → 最终写回目标系统。整个过程在画布上可见,README 强调的 "full observability" 就落在这里。

值得注意的是 AI 与协议层的双向性。仓库 topics 里同时列了 mcp、mcp-client、mcp-server——这意味着 n8n 既能作为 MCP 客户端去调用别人的 MCP server,也能把自己包装成 MCP server 供外部 AI 客户端调用。站内简介说的「接入 MCP 协议,让 AI 调用你的内部系统与数据」,走的就是后者:内部系统先在 n8n 里接好,再通过 MCP 暴露给 AI。

模型不锁定

README 里有一条容易被略过但很关键的承诺:Model Flexibility, No Lock-In。可以接 OpenAI、Anthropic、Google,也可以接开源模型,切换供应商时不需要改架构。

这条之所以成立,是因为模型在 n8n 里是一个节点,而不是整个平台的底座。换模型 = 换一个节点的配置,工作流结构不动。对要长期跑生产流程的团队来说,这比「支持多少家模型」更重要——供应商会变,流程不该跟着重写。

跑起来只要两行

README 的 Quick Start 给了两条路。第一条是一键脚本,前提是本机有 Docker:

sh
curl -fsSL https://get.n8n.io | sh

第二条是手动起容器,适合想控制数据卷和端口的情况:


docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

起来之后访问 http://localhost:5678 就是编辑器界面。数据卷挂在 /home/node/.n8n,工作流和凭据落在这里,容器删了数据还在。

不想自托管的话,官网也提供云版入口。自托管 + 云版双轨,对应 README 里 Enterprise-Ready 那段说的角色权限、审计日志、敏感数据处理——这些是给要把流程放进生产环境的团队准备的。

生态规模是它真正的护城河

单看「可视化工作流工具」,市面上不缺。n8n 的差异在于存量:README 写的是 1500+ integrations 和 9000+ workflow templates。

这两个数字的意义不同。1500+ 集成决定了「你的系统能不能接进来」,9000+ 模板决定了「你从零开始要花多久」。模板是可以直接拿来改的起点,不是文档示例。对一个要接内部系统又不想从零写适配层的团队,这个存量本身就是迁移成本的反面——用得越多,越难换掉。

和同主题项目比,它站在哪

站内几个 MCP 相关项目,定位其实分得很开:

项目定位与 n8n 的关系
n8n可视化工作流编排 + AI 节点 + MCP 双向接入编排层,负责把系统串起来并调度
cc-switch桌面端管理多个 AI 编程 Agent 的配置与 MCP server 设置面向本地开发者的配置切换工具,管的是客户端侧
awesome-mcp-serversMCP server 资源清单提供「有哪些 server 可用」的索引,n8n 是消费方之一
Agent-Reach用 CLI 读取搜索多平台公开内容,免 API 申请补齐 agent 的信息获取能力,属于数据源
Scrapling自适应网页抓取框架,可经 MCP 接入 AI 工具提供抓取能力,可作为 n8n 流程里的一个数据获取环节

差别在于层次。cc-switch 解决「我这台机器上多个 Agent 的配置怎么管」,awesome-mcp-servers 解决「去哪找现成的 server」,Agent-Reach 和 Scrapling 解决「怎么拿到外部数据」。n8n 解决的是更靠上的一层:这些能力拿到之后,怎么按业务顺序串起来、在哪一步让人介入、失败了怎么重试、跑完怎么审计。

换句话说,前面几个项目是零件和工具箱,n8n 是装配线。它不生产 MCP server,但它可以是调用 MCP server 最多的那一方。

许可:fair-code 不是标准开源

GitHub 元数据里的 license 显示为 NOASSERTION,README 则明确写了:n8n 以 fair-code 模式分发,适用 Sustainable Use License 与 n8n Enterprise License。

README 列出的三条特征是:源码始终可见(Source Available)、可自托管(Self-Hostable)、可扩展(Extensible,加自己的节点)。部分额外功能与支持需要企业许可。

这意味着它和 MIT / Apache 那类许可不是一回事。打算商用或做二次分发的团队,应该先读 Sustainable Use License 的说明文档,而不是默认按开源处理。这是选型时最容易被跳过、后果又最实际的一步。

谁该用它

判断标准可以很具体:

  • 你的自动化流程要跨三个以上外部系统,且其中一个是你自己写的内部服务——n8n 的集成层和自定义节点能省掉大量胶水代码。
  • 流程里需要人看一眼再继续——审批节点是内置的,不用自己搭状态机。
  • 你要让 AI 参与流程,但不想把业务逻辑写死在某个模型的 SDK 里——模型是节点,随时可换。
  • 你需要自托管,数据不出内网——Docker 一条命令起,数据卷自己控。

反过来,如果只是单点脚本、只调一个 API、不需要可视化和审计,写个脚本比拖画布快。n8n 的价值随流程复杂度和系统数量上升,不是所有场景都值。

资源入口

仓库当前星标 207803、forks 61164,创建于 2019 年 6 月,主语言 TypeScript,topics 覆盖 workflow-automation、low-code-platform、self-hosted、mcp-client、mcp-server。从这些标签能看出它想同时站在自动化和 AI 协议两个圈子里——这也是它和纯 iPaaS 工具最不一样的地方。

最后一句来自 README 里创始人对名字的解释,挺能说明这个项目的取向:他嫌 "nodemation" 太长,写命令行太麻烦,于是缩成了 n8n。少打字、快点跑起来,这个思路贯穿了整个产品。