n8n:把 MCP 接进 1500 个系统的可视化编排层
n8n 用可视化画布 + 自定义代码串起 1500+ 集成,原生支持 MCP client/server,让 AI 调用内部系统。本文拆解它的分层架构、部署方式与同主题定位差异。
想让 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:
shcurl -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-servers | MCP 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 的价值随流程复杂度和系统数量上升,不是所有场景都值。
资源入口
- 源码:github.com/n8n-io/n8n
- 官网:n8n.io
- 文档:docs.n8n.io
- 集成清单:n8n.io/integrations
- 工作流模板:n8n.io/workflows
- AI 与 LangChain 指南:docs.n8n.io/advanced-ai
- 社区论坛:community.n8n.io
仓库当前星标 207803、forks 61164,创建于 2019 年 6 月,主语言 TypeScript,topics 覆盖 workflow-automation、low-code-platform、self-hosted、mcp-client、mcp-server。从这些标签能看出它想同时站在自动化和 AI 协议两个圈子里——这也是它和纯 iPaaS 工具最不一样的地方。
最后一句来自 README 里创始人对名字的解释,挺能说明这个项目的取向:他嫌 "nodemation" 太长,写命令行太麻烦,于是缩成了 n8n。少打字、快点跑起来,这个思路贯穿了整个产品。