
n8n-mcp 用 addConnection 给 IF 节点两个输出连线都落在同一输出怎么修正【免费下载链接】n8n-mcpA MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you项目地址: https://gitcode.com/GitHub_Trending/n8/n8n-mcp用 n8n-mcp 的n8n_update_partial_workflow工具给工作流加连线时IF 节点有 TRUE 和 FALSE 两个输出main[0]和main[1]。如果两条addConnection都没有显式指定分支sourceIndex默认取 0两条连线就会全部落在 TRUE 分支main[0]上FALSE 分支没有任何目标节点工作流逻辑直接出错。本文的目标是把两条连线修正到各自的输出上并确认修正已生效。前提是 n8n-mcp 已能访问你的 n8n 实例n8n_update_partial_workflow依赖N8N_API_URL和N8N_API_KEY环境变量见 工具文档。先确认问题现象两个信号能帮你确认连线确实落在了同一输出上校验告警CONDITIONAL_BRANCH_FANOUT自 2.36.1 起连接校验会检测 IF、Filter、Switch 节点所有连接都挤在main[0]、更高序号的输出为空的情况并给出告警——对 IF 节点来说就是 true/false 两个目标都挂在main[0]上见 CHANGELOG 2.36.1。只有更高序号输出上也有连线时才会跳过该告警。引擎对sourceIndex的提示diff 引擎在处理连线时如果 IF 节点显式使用了sourceIndex而没有用branch会附加一条警告Connection to If node ... uses sourceIndexN. Consider using branchtrue or branchfalse for better clarity. If node outputs: main[0]TRUE branch, main[1]FALSE branch.实现见 workflow-diff-engine。工具文档把这一点列为关键陷阱Using sourceIndex0 for multiple connections will put them ALL on the TRUE branch (main[0]), breaking your workflow logic! README 也有同样的提示不写branch参数时两条连线可能都落在同一输出上。用 branch 参数重连两条分支IF 节点n8n-nodes-base.if支持语义化的branch智能参数它会被解析成底层索引branch: true→sourceIndex0TRUE 分支branch: false→sourceIndex1FALSE 分支把下面两条操作放进同一个批次提交id换成你的工作流 ID节点名换成实际节点名工具文档建议始终附带具体的intent描述// 文档示例两条 addConnection 分别指定 branch确保各走各的输出 n8n_update_partial_workflow({ id: workflow-id, intent: Route IF node true branch to success handler, false branch to error handler, operations: [ {type: addConnection, source: IF, target: Success Handler, branch: true}, {type: addConnection, source: IF, target: Error Handler, branch: false} ] })对应的独立示例可参考 workflow-diff-examples.md 的 Smart Parameters for IF Nodes 一节其中注明branch: false等价于路由到 false 分支sourceIndex1。如果错误连线已经存在、只是接错了分支用rewireConnection改目标即可同样支持branch智能参数见 工具示例// 文档示例把接错分支的连线改到目标节点 n8n_update_partial_workflow({ id: workflow-id, operations: [ {type: rewireConnection, source: IF, from: Old True Handler, to: New True Handler, branch: true} ] })先用 validateOnly 预检再应用默认是原子模式批次里任一操作失败整批都不应用。提交前先带validateOnly: true跑一遍只校验不落库返回校验结果确认无误后再去掉该参数正式应用参数定义见 工具文档// 文档示例先预检 n8n_update_partial_workflow({ id: workflow-id, validateOnly: true, operations: [ {type: addConnection, source: IF, target: Success Handler, branch: true}, {type: addConnection, source: IF, target: Error Handler, branch: false} ] })正式应用的响应包含operationsApplied以及是否持久化的saved字段。验证修正结果用n8n_get_workflow带 modestructure查看当前连接结构确认 IF 节点的两个目标分别位于main[0]和main[1]工具文档的返回说明即建议此方式核对状态。再次校验时CONDITIONAL_BRANCH_FANOUT告警不应再出现它只在整个连接都挤在main[0]时才触发修正后 false 分支有了独立目标告警自然消失。边界与限制显式sourceIndex会覆盖branch同时给出两者时以sourceIndex为准工具文档 的 Smart Parameters 一节。修正时不要两种写法混用。branch只对 IF 节点生效对其它节点类型会被忽略Switch 节点应改用caseNcase0第一个输出caseN第 N 个输出同样的多个目标落在同一输出问题对 Switch 同样存在。自动清理的cleanStaleConnections只处理引用不存在节点的断连不会自动纠正分支接错的问题分支接错要靠上面branch/case重写。如果校验在自动修复后仍失败工具文档给出的恢复路径是查看具体错误详情、用校验工具列出全部错误、连接问题用cleanStaleConnections、分支不匹配则补上缺失的输出连线。【免费下载链接】n8n-mcpA MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you项目地址: https://gitcode.com/GitHub_Trending/n8/n8n-mcp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考