从 n8n-mcp 到 n8n-agent:探索工作流自动化的下一步
引子:当 AI 遇见工作流
在 AI 辅助编程已经成为日常的今天,我们是否还需要手动构建工作流?这个问题促使我开始了一段探索之旅——如何让 Claude Code 和 n8n 真正协同工作,实现从想法到工作流的自动化转换。
n8n-mcp 能帮你做什么
让我们从最基础的问题开始。
问题一:如何安装
我使用的是 czlonkowski/n8n-mcp,具体安装可以看我的安装文章 n8n-MCP Claude Code 安装配置指南。
问题二:n8n 节点这么多,如何选择你任务所需要的节点
这是每个 n8n 新手都会遇到的困惑。好在有了 MCP(Model Context Protocol),Claude 可以理解你的需求并推荐合适的节点组合。
问题三:n8n 工作流是由 JSON 构成的,大模型是否可以帮我写呢
答案是肯定的。但这引出了一个更深层的问题。如何可以方便自动化的调试生成出来的工作流呢?
实际构建 n8n 工作流的真正痛点
以上是 n8n-mcp 能帮你做的,可以很方便地帮你完成构建工作流的基础事项。但问题是,这就够了吗?
大家上手实际搭建我相信会十分直观感受到,n8n 中的节点对于有些编程经验的人来说是十分简单直观的概念。这非常棒,无需负担很重的切换,每一步都如 Jupyter 可调试,又像 Excalidraw 十分自由的节点构造和链接。
但就我的感受,在复杂的业务流程中——比如在文章《使用 n8n 构建生产可用的测试工作流》<链接>中——这个工作流最烦躁的部分莫过于 Code 节点了。
Code 节点的尴尬处境
尤其是当你选择 Python 节点,n8n 中许多语法存在不兼容:
- 如何获得上面节点的输出?
- 如何获得其他节点的输出?
- 你想要做一个数据处理操作,将想法告诉 AI,但 AI 生成的代码不匹配 n8n 的语法规则
在简单的脚本已经完全由 AI 托管、实现、验证的时代,让我自己纯手搓一个 Code 节点是不适的。
我也将 n8n 官方语法说明放在 CLAUDE.md 中让 AI 基于规则去生成,但很显然这是不具备我之前博客是时候和单测👋🏻 -- 从验证性理论到大模型工程实践 中提到的可验证性的。当大模型生成的内容不具备验证性时,很难对大模型生成的内容存在信任。
突破:用 n8n 调试 n8n
除了 Code 节点别扭的编程体验,还有一个感受就是 n8n 真的太符合 TDD 流程了:
- 每一个节点天生就是一个单测单元
- 每一个工作流就是一个集测或者 E2E 单元
而我们花费了大量时间在出现 bug 时,将 bug 输入和信息传输给大模型让他订正。这个过程我们可以简化吗?
答案是可以的!
套娃式的解决方案
我们可以用 n8n 构建一个 debug 工作流来帮我们 debug n8n 工作流。听着很套娃,但思路很简单。
n8n 的工作流 mermaid 图如下,相应的工作流和其中的脚本我放在 GitHub 仓库里 <链接>:
flowchart TD
Start([手动触发<br/>手动启动调试流程])
Init[初始化参数<br/>设置调试参数]
PlaywrightExecute[Playwright执行工作流<br/>自动化执行目标工作流]
Wait1[等待执行开始]
GetExecutions1[获取最新执行记录]
CreateDir[创建存储目录]
ProcessData[处理执行数据<br/>Python脚本分析]
CheckStatus[检查执行状态]
ExecuteSuccess{执行成功?}
%% 失败处理流程
DownloadWorkflow[下载Workflow JSON]
ClaudeDebug[Claude Debug节点<br/>AI分析并修复问题]
SetPinData[设置PinData到Workflow]
ValidateWorkflow[验证新工作流]
UploadWorkflow[上传修复后的工作流]
UpdateWorkflowId[更新WorkflowId]
CheckMaxAttempts{检查最大尝试次数}
%% 结果处理
FinalSuccess[最终成功]
MaxAttemptsReached[达到最大尝试次数]
WebhookNotify[Webhook通知结果]
%% 连接关系
Start --> Init --> PlaywrightExecute
PlaywrightExecute --> Wait1 --> GetExecutions1
GetExecutions1 --> CreateDir --> ProcessData
ProcessData --> CheckStatus --> ExecuteSuccess
ExecuteSuccess -->|成功| FinalSuccess
ExecuteSuccess -->|失败| DownloadWorkflow
DownloadWorkflow --> ClaudeDebug
ClaudeDebug --> SetPinData --> ValidateWorkflow
ValidateWorkflow --> UploadWorkflow
UploadWorkflow --> UpdateWorkflowId
UpdateWorkflowId --> CheckMaxAttempts
CheckMaxAttempts -->|未超过次数| PlaywrightExecute
CheckMaxAttempts -->|超过次数| MaxAttemptsReached
FinalSuccess --> WebhookNotify
MaxAttemptsReached --> WebhookNotify
核心思想:单步调试
采用单步 debug 的方式,逐个节点确认输入和输出都符合需求:
- 符合则将这个节点 mock
- 继续后续的执行直到工作流结束
在这里我建议符合需求这个部分构造一个 debug_plan,其模板我也放在 GitHub 的链接了。从验证性角度来说,你有必要确认这个过程的输入输出,至少是关键节点和关键步骤的输入输出。这可以有效地引导大模型的构建。
Claude Code 节点:AI 与工作流的深度融合
这里就引入了一个新的 n8n 节点——Claude Code。
这个节点的安装方式和 GitHub 代码在链接 <>,其作用也很简单:使用 Claude Code 官方 SDK,将 SDK 的功能集成在 n8n 节点中。现在你就有了一个非常强大的通用 agent 作为工作流的节点,这也是我在之前博客是时候和单测👋🏻 -- 从验证性理论到大模型工程实践 就有的想法。
为什么需要 Claude Code 节点?
Claude Code 是目前公认的第一梯队通用 agent,但在长流程中:
- 你总会希望有些事情是他不要忘记做的
- 有时候你也不明白他执行顺序到底是怎么样的
n8n 自由的图结构可以和 Claude Code 做很好的结合。而众所周知,Claude Code 执行代码比较高昂,所以当有我们需要的结果时,我们就可以将 Claude Code 的内容 pin 起来,方便后续的执行。
从 n8n-mcp 到 n8n-agent:还缺少什么?
看到这里想必读者也可以理解我在做的是什么了—— 要不一步到位吧,从设计到调试构建我们的 n8n-agent!
理想的场景
最理想的场景是你可以通过:
- 文字描述
- Excalidraw 图表
- Mermaid 流程图
就可以构建一个你需要的 n8n 工作流,可以帮助你调试,借助 Claude Code(Codex / Cursor CLI / Gemini CLI)的强大泛化性,完成从 idea → 设计 → 调试的全过程。
现实的挑战
现在调试已经完成了原型,那设计是不是直接 Claude Code 上就行了?
我的体验是:
- 简单的工作流:确实问题不大
- 复杂的生产工作流:设计的瓶颈就显现出来了
Claude Code 确实可以参与我们的设计,但最后似乎我还是需要为繁琐的每一步设计负责。更糟糕的是,他没有在这个过程中体现出成长性,而 CLAUDE.md 文档在你一次一次更新中会不断变长,但越长的 CLAUDE.md 文档记忆体验感会变得越来越弱。
深层次的问题
经过这篇文章的不断探索,确实可以帮你解决一些入门工作流的实现和 debug 问题,但构建 n8n 工作流对于 Claude Code 构建 Python 代码的体验是完全无法相比的:
- 他对于 n8n 的领域知识是明显欠缺的
- 这些都不是单纯靠组件的拼接可以解决的
- 需要我们更深刻地了解 memory 的构建和存储
- 乃至强化学习微调以提升在这个场景下的构建能力
一些实用的工作流分享
看到这里想必大家都在想:我可以用 n8n 构建哪些好玩的东西了?我分享一下我的想法,大家有需要的可以自行测试、修改:
- X 抓取指定用户的推文:社交媒体数据收集与分析
- Java Maven 项目的整体单测构建:自动化测试流程
- Java Gradle 项目指定 commitId 的单测构建:精准测试执行
- n8n debug 指定工作流:元工作流调试
未来展望
n8n-agent
Build with n8n + Claude Code,真正的工作流智能体,能够:
- 理解你的业务需求
- 自动设计工作流架构
- 生成并调试节点代码
- 持续优化执行效率
playwright-agent
Build with n8n + Claude Code,专注于 Web 自动化的智能体,能够:
- 自动生成测试脚本
- 智能识别页面元素
- 处理动态内容变化
- 生成测试报告
结语
从 n8n-mcp 到 n8n-agent 的探索,让我看到了工作流自动化的新可能。虽然目前还存在诸多挑战,特别是在领域知识的积累和验证性的保证上,但这条路径已经展现出了巨大的潜力。
工作流的未来不应该是让我们手动拖拽节点,而是让 AI 理解我们的意图,自动生成、调试、优化工作流。这需要我们不断探索 AI 与低代码平台的结合点,构建更智能、更可靠的自动化工具。
希望这篇文章能给正在探索工作流自动化的你一些启发。如果你有任何想法或实践经验,欢迎一起交流探讨。
相关链接和代码仓库将在整理后补充