mcpField
N
n8n-node-configuration-official

n8n-node-configuration-official

github.com/n8n-io开发5582.0k 次安装2 周前更新
代码仓库

关于 n8n-node-configuration-official

面向配置 n8n 节点的官方技能,说明如何通过 get_node_types 获取具体操作的参数结构,并使用实时选项避免猜测配置。

主要功能

  1. 01按资源和操作查询节点参数
  2. 02使用实时参数结构配置节点
  3. 03解析动态选项与资源定位值
  4. 04通过节点级校验定位配置问题

适用场景

  1. 01为新节点选择并配置具体操作
  2. 02处理依赖字段或动态选项
  3. 03排查节点参数验证错误

MCP 相关

指导调用 get_node_types、explore_node_resources 和 validate_node_config 等 n8n MCP 工具,以实时数据配置并检查节点。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/n8n-io/skills --skill n8n-node-configuration-official

安装后在 Claude Code 中输入/n8n-node-configuration-official确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
AI_NODES.md
COMMS_NODES.md
DATABASE_NODES.md
HTTP_NODES.md
MERGE_NODE.md
SWITCH_FALLBACK.md
TRIGGER_NODES.md
WEBHOOK_NODES.md

详细介绍

n8n 节点配置

每个 n8n 节点都有自己的参数结构,且通常包含条件字段(只有参数 Y 的值为 Z 时,参数 X 才会生效)。不同版本的结构会有所变化。猜测会导致难以理解的验证错误。

不要猜测,使用 get_node_types 工具。

不容妥协

**配置节点之前,必须使用判别参数(resource、operation、mode)调用 get_node_types。**不带判别参数会返回通用结构,缺少特定操作的参数和必填字段。请根据确切结构进行配置。不要凭记忆猜测。

**实时的 get_node_types 输出是规范的参数结构。**本技能中的参考资料介绍了模式、易错点、安全规则和决策方法(何时使用哪种操作、为什么使用凭据而不是文本字段、引擎重试上限等),而不是参数名称或字段结构。如果参考示例与 get_node_types 返回的内容冲突,请以工具为准。Markdown 文档可能过时;类型定义是根据实时源代码生成的。

**绝不要猜测资源定位器或加载选项的值。**当 get_node_types 显示某个参数带有 @searchListMethod 或 @loadOptionsMethod(Slack 频道、Sheets 标签页/文档、数据库表/列、模型列表、标签)时,请使用 explore_node_resources 查找实际值(传入 list_credentials 返回的 credentialId),并使用返回的 value。如果你已经知道确切 ID,就使用它;如果有多个匹配项且意图不明确,请询问用户。虚构的 ID 虽然能通过验证,但实际并不存在。例外:toolWorkflow.workflowId 没有搜索方法,请通过 search_workflows 查找,并使用 mode: 'id'。

强烈建议

  • **优先配置操作。**先设置 resource 和 operation,这样条件参数才会显示。多数“字段不存在”错误,实际上是因为“尚未设置父级操作”。
  • **切换操作时,不要沿用参数。**切换 operation 后,请根据新结构重新推导参数。上一个操作遗留的参数会导致验证失败。

新建节点的流程

1. search_nodes(['<capability keyword>'])
   → returns matching node IDs + discriminators
2. Pick the right (resource, operation) for the task.
3. get_node_types([{ name: '...', resource: '...', operation: '...' }])
   → returns exact parameter shape including conditional fields
4. For any RLC / load-options param in that shape, ground the real value:
   explore_node_resources({ nodeType, version, methodName, methodType, credentialType, credentialId, currentNodeParameters? })
   → use a returned `value`. Don't invent IDs.
5. Build the node config from that shape.
6. validate_workflow → fix errors.
7. get_workflow_details → inspect the saved config; confirm parameters landed.
8. test_workflow with pinned data → confirm runtime behavior.

跳过任何一步都会导致后续步骤的问题层层累积。最常被跳过的是第 3 步,继而出现“Cannot read property X”错误;其真正原因其实是“没有传入判别参数”。

validate_node_config 作为旁路检查

validate_node_config([{ type, typeVersion, parameters, isToolNode? }]) 会在隔离的节点配置上运行与 validate_workflow 相同的 Zod schema。它只检查 schema 层面,不能替代 validate_workflow(发布前仍需通过完整验证)。适用于:

  • **构建过程中迭代单个节点。**比每次修改都重新运行 validate_workflow 更快。
  • **小幅修改现有工作流。**连线未变?检查你修改的那个节点;发布前再进行完整验证。
  • **调试配置错误的节点。**提供逐参数的错误信息,不受图结构噪声干扰。

对于工具子节点(通过 ai_tool 连线),请设置 isToolNode: true,以便评估正确的 displayOptions 分支。

根据操作配置

大多数节点的顶层结构如下:

{
  resource: '<thing being operated on>',   // 'message', 'spreadsheet', 'user', etc.
  operation: '<verb>',                      // 'send', 'append', 'lookup', etc.
  // ...operation-specific parameters
}

(resource, operation) 组合决定了其他参数的存在与否(例如,Slack 的 (message, send) 与 (user, info) 不同)。

模式:

  1. 先设置 resource 和 operation。
  2. 如果一开始没有传入这些判别参数,请使用它们重新获取 get_node_types。
  3. 根据特定操作的结构配置其余参数。

属性依赖:容易忽略的陷阱

某些参数之间存在不明显的依赖关系:

  • 仅当另一个字段具有特定值时,某个字段才是必填项。
  • 某个字段会根据模式接受不同类型的值。
  • 某个字段的选项取决于另一个字段的值。

示例:

  • HTTP Request 的 authentication: 'genericCredentialType' 要求提供 genericAuthType 和 credentials,而 'predefinedCredentialType' 要求使用不同的结构。
  • Postgres 的 operation: 'executeQuery' 要求提供 query,而 operation: 'select' 要求提供 table 和 columns。
  • Slack 的 messageType: 'block' 会启用区块构建器字段,而 messageType: 'text' 中没有这些字段。

对于具体操作,始终通过 get_node_types 检查。不要复用其他操作的配置并期待它通过验证。

来自其他字段的选项由 @loadOptionsMethod 提供:使用 explore_node_resources(methodType: 'loadOptions')解析实时选项;如果该方法依赖先前的选择,请通过 currentNodeParameters 传入(例如,列出电子表格中的工作表需要 documentId)。

参考文件

各类别常见问题。配置节点类型时,请阅读对应文件:

文件阅读时机
references/HTTP_NODES.md配置 HTTP Request:身份验证、分页、查询参数/正文参数、重试
references/WEBHOOK_NODES.md配置 Webhook trigger 或 Respond to Webhook:正文解析、响应结构、异步模式
references/COMMS_NODES.mdSlack、Gmail、Discord、电子邮件:凭据类型、消息结构、附件
references/DATABASE_NODES.mdPostgres、MySQL、Mongo、Supabase:查询与操作、参数绑定、错误处理
references/AI_NODES.mdAI Agent 节点配置项:流式传输、视觉、maxIterations、模型子节点上的重试。提示词、工具、记忆、结构化输出等设计请参阅 n8n-ai-nodes-official
references/TRIGGER_NODES.mdWebhook、Schedule、Manual、Execute Workflow Trigger:输入架构、轮询与实时触发
references/SWITCH_FALLBACK.md配置 Switch 节点:未命名的输出/缺少 fallback 会静默丢弃不匹配的条目
references/MERGE_NODE.md配置 Merge 节点,或遇到 useDataOfInput、numberOfInputs 或分支汇合的情况

反模式

反模式问题修复方法
凭记忆中节点去年的样子来构建节点配置参数结构已有变化,验证会因晦涩的错误而失败每次会话中都对每个节点调用 get_node_types
在 get_node_types 中省略区分参数获取到通用结构,遗漏特定操作的必填字段始终传入 resource 和 operation(存在 mode 时也要传入)
将一个操作的节点配置复制到另一个操作并稍作修改过时的参数会导致验证失败,条件字段也不适用根据新操作的结构重新推导配置
在节点文本字段中硬编码令牌/凭据导出时会泄露。请参阅 n8n-credentials-and-security-official始终使用凭据
配置后不使用 test_workflow 测试节点运行时错误只有在真实数据上才会显现发布前始终使用固定数据进行测试

评论

支持 Markdown