news 2026/9/13 13:31:35

n8n-mcp 节点发现工具完全指南:search_nodes 与 get_node 的深度用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
n8n-mcp 节点发现工具完全指南:search_nodes 与 get_node 的深度用法

n8n-mcp 节点发现工具完全指南:search_nodes 与 get_node 的深度用法

【免费下载链接】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-mcp-tools-expert 技能包的节点发现(Node Discovery)专项指南,围绕search_nodesget_node两个 MCP 工具展开。你将学会:如何用关键词在 800+ 节点中秒级定位目标节点、如何按三种详情级别与七种模式精确获取节点配置信息、如何区分nodes-base.*n8n-nodes-base.*两种 nodeType 前缀格式,以及如何在真实工作流中组合这些工具完成「搜索 → 配置 → 校验」的完整链路。读完本文,你可以在 Claude Desktop、Claude Code、Windsurf、Cursor 等 MCP 客户端中像专家一样高效地发现并配置任何 n8n 节点。


一、节点发现工具全景:search_nodes 与 get_node 的分工

在 n8n-mcp 的 40+ 个 MCP 工具中,节点发现(Node Discovery)由两个工具承担,分工明确:

工具核心职责典型延迟输出体量
search_nodes按关键词在全部节点中定位目标<20ms(复杂 FUZZY 查询 <50ms)
get_node获取单个节点的配置详情与版本信息minimal/standard <10ms,full <100ms200 ~ 8K tokens

search_nodes解决「找哪个节点」,get_node解决「这个节点怎么配」。二者配合validate_node(见 VALIDATION_GUIDE.md)即可完成从发现到落地的完整闭环,这也是本技能包推荐的最高频使用范式:

search_nodes → get_node(standard) → validate_node

二、search_nodes:秒级全文检索

search_nodes是技能包标注的START HERE!入口工具,在 工具定义 中将其定位为按关键词搜索 n8n 节点的全文检索工具。

2.1 参数说明

search_nodes({ query: "slack", // 必填:搜索关键词 mode: "OR", // 可选:OR(默认)、AND、FUZZY limit: 20, // 可选:最大返回条数(默认 20,上限 100) source: "all", // 可选:all、core、community、verified includeExamples: false // 可选:是否附带模板真实配置示例 })

各参数详解(依据 工具文档 与 参数校验):

  • query(必填):搜索关键词。支持用双引号包裹精确短语,如"google sheets";若传入完整的 nodeType(如n8n-nodes-base.slack),服务端会自动将其归一化为短前缀格式再检索。
  • mode(可选,默认OR):OR匹配任意一个词;AND要求所有词同时出现;FUZZY为容错模式,能处理拼写错误(slak→ Slack)。
  • limit(可选,默认 20):最大返回结果数,上限 100。
  • source(可选,默认all):来源过滤。core仅内置节点,community仅社区节点,verified仅已验证社区节点。
  • includeExamples(可选,默认false):为每个节点附带来自热门模板的前 2 个真实配置示例,每个节点约增加 200-400 tokens。
  • includeOperations(可选,默认false):直接附带每个节点的 resource/operation 树(每个结果约 100-300 tokens),省去一次get_node往返;仅对具有 resource/operation 模式的节点返回,触发器节点与自由表单节点(Code、HTTP Request)会省略该字段。

2.2 返回结构

{ "query": "slack", "results": [ { "nodeType": "nodes-base.slack", // 供 search/validate 工具使用 "workflowNodeType": "n8n-nodes-base.slack", // 供工作流工具使用 "displayName": "Slack", "description": "Consume Slack API", "category": "output", "relevance": "high", "operationsTree": { /* includeOperations: true 时返回 */ }, // 社区节点额外返回: // isCommunity: true, isVerified: boolean, // authorName: string, npmDownloads: number } ], "totalCount": 20 }

2.3 底层实现:SQLite FTS5 全文索引

search_nodes的毫秒级性能来源于 SQLite FTS5 全文索引。从 server.ts 的实现可以看到完整调用链:

  1. 先对查询做归一化:若包含n8n-nodes-base.@n8n/n8n-nodes-langchain.前缀,自动替换为短前缀;
  2. 检测nodes_fts表是否存在;
  3. 存在则走searchNodesFTS(FTS5 全文检索 + 排名),否则回退到searchNodesLIKE(LIKE 查询兜底)。

FTS5 路径的核心 SQL(server.ts)将节点表与 FTS5 索引按 rowid 连接,并使用MATCH语法匹配;排序采用「精确显示名匹配 > 相关度评分 > FTS rank」的三级策略,保证高频节点(HTTP Request、Webhook、Set、Code、Slack)优先展示。FTS5 不可用或表缺失时,启动检查 会输出警告,提示执行npm run rebuild重建索引,此时性能会降级为 LIKE 扫描。

三种模式对应的 FTS 查询构造(server.ts):

  • OR:词之间以OR连接(默认);
  • AND:词之间以AND连接;
  • FUZZY:不走 FTS5,改走独立的模糊匹配实现searchNodesFuzzy(server.ts)。

source过滤在 SQL 层以is_community/is_verified标志位实现:core追加AND n.is_community = 0community追加AND n.is_community = 1verified追加AND n.is_community = 1 AND n.is_verified = 1(server.ts)。

2.4 使用建议

  • 从单个关键词起步,结果最广;
  • 用户可能拼错节点名时优先用FUZZY
  • 2-3 个词的精确检索用AND
  • 生产环境推荐社区节点时用source: "verified"并检查isVerified标志;
  • 注意:AND模式会搜索名称与描述全部字段;FUZZY对 1-2 个字符的超短查询可能返回意外结果;引号内精确短语区分大小写。

三、get_node:统一节点信息查询

get_node是技能包中信息量最集中的工具,在 工具定义 中定位为「渐进式详情级别 + 多种模式的统一节点信息工具」。其入口参数在 getNodeInfo 实现 中完成校验:detail仅接受minimal/standard/fullmode仅接受info/versions/compare/breaking/migrationsdocssearch_properties在分发层单独处理),非法值会直接抛出参数错误。nodeType 在进入处理前会经NodeTypeNormalizer.normalizeToFullForm归一化,保证短前缀也能被正确解析。

3.1 三级详情(mode="info")

详情级别Token 开销适用场景
minimal~200快速元数据核查
standard~1-2K大多数场景(默认)
full~3-8K仅复杂调试
  • minimal(<5ms):仅返回 nodeType、displayName、description、category 等基础元数据(server.ts),同时附带isAIToolisTriggerisWebhook标志;若节点未命中,会遍历getNodeTypeAlternatives尝试别名解析。
  • standard(<10ms,推荐):在基础信息之上叠加可用 operations、10-20 个最常用属性、元数据(isAITool / isTrigger / hasCredentials),并附版本摘要versionInfo;启用includeExamples: true时附带模板中的真实配置示例。
  • full(<100ms,谨慎使用):返回完整节点 schema,体积约 100KB,仅在 standard 无法满足复杂调试需求时使用。
// standard(默认) get_node({ nodeType: "nodes-base.slack", includeExamples: true }) // minimal get_node({ nodeType: "nodes-base.slack", detail: "minimal" }) // full get_node({ nodeType: "nodes-base.httpRequest", detail: "full" })

3.2 七种模式速查

模式用途关键参数
info(默认)按详情级别返回节点 schemadetail
docs人类可读的 Markdown 文档(含用法示例、认证指南、常见模式、最佳实践)
search_properties查找节点内特定属性propertyQuery(必填)、maxPropertyResults(默认 20)
versions版本历史与破坏性变更标记
compare对比两个版本的属性级差异fromVersion(必填)、toVersion(默认最新)
breaking仅列出破坏性变更fromVersion(必填)
migrations列出可自动迁移的变更fromVersiontoVersion(均必填)

版本类模式的参数约束在 handleVersionMode 中强制校验:comparebreaking要求fromVersionmigrations要求同时提供fromVersiontoVersion,缺失即抛错。

// docs:可读文档 get_node({ nodeType: "nodes-base.slack", mode: "docs" }) // search_properties:查找 auth 相关字段 get_node({ nodeType: "nodes-base.httpRequest", mode: "search_properties", propertyQuery: "auth" }) // versions:版本历史 get_node({ nodeType: "nodes-base.executeWorkflow", mode: "versions" }) // compare:对比 3.0 → 4.1 get_node({ nodeType: "nodes-base.httpRequest", mode: "compare", fromVersion: "3.0", toVersion: "4.1" }) // breaking:仅破坏性变更 get_node({ nodeType: "nodes-base.httpRequest", mode: "breaking", fromVersion: "3.0" }) // migrations:可自动迁移项 get_node({ nodeType: "nodes-base.httpRequest", mode: "migrations", fromVersion: "3.0" })

3.3 两个增强参数

  • includeTypeInfo:为属性附加类型结构元数据(校验规则、JS 类型),每个属性约增加 80-120 tokens。适用于 filter、resourceMapper 等结构复杂的节点。源码层面通过enrichPropertiesWithTypeInfo对 standard 的 requiredProperties / commonProperties 以及 full 的完整属性列表做类型信息富化(server.ts)。
  • includeExamples:附带模板中的真实世界配置示例,每个示例约增加 200-400 tokens。注意:仅对mode: "info"+detail: "standard"生效,这是源码中明确限定的组合。

四、nodeType 前缀格式(关键约定)

这是本技能包强调的CRITICAL约定——不同工具族对节点类型的书写格式要求不同:

Search / Validate 工具族(短前缀):

"nodes-base.slack" "nodes-base.httpRequest" "nodes-langchain.agent"

Workflow 工具族(完整前缀):

"n8n-nodes-base.slack" "n8n-nodes-base.httpRequest" "@n8n/n8n-nodes-langchain.agent"

好消息是search_nodes的返回结果同时携带两种格式,直接按需取用即可:

{ "nodeType": "nodes-base.slack", // 配合 get_node、validate_node "workflowNodeType": "n8n-nodes-base.slack" // 配合 n8n_create_workflow }

底层归一化由 node-type-normalizer.ts 的normalizeToFullForm完成:它统一识别n8n-nodes-base.webhooknodes-base.webhook@n8n/n8n-nodes-langchain.agent等写法并转换为规范形式;search_nodes的查询侧也会在 入口处 自动完成反方向归一化,因此即使你误传完整前缀,检索也能正常进行。


五、实战流程:从搜索到配置的完整链路

5.1 标准四步流程(技能包推荐)

Step 1: Search search_nodes({query: "slack"}) → Returns: nodes-base.slack Step 2: Get Operations(平均思考时间约 18s) get_node({ nodeType: "nodes-base.slack", includeExamples: true }) → Returns: operations 列表 + 示例配置 Step 3: Validate Config validate_node({ nodeType: "nodes-base.slack", config: {resource: "channel", operation: "create"}, profile: "runtime" }) → Returns: 校验结果 Step 4: Use in Workflow (配置就绪,可写入工作流)

最常用的组合是search → get_node,两次调用平均即可完成节点定位与配置获取。

5.2 案例一:查找并配置 HTTP Request

// 第 1 步:搜索 search_nodes({query: "http request"}) // 第 2 步:获取标准信息 get_node({nodeType: "nodes-base.httpRequest"}) // 第 3 步:查找认证相关选项 get_node({ nodeType: "nodes-base.httpRequest", mode: "search_properties", propertyQuery: "authentication" }) // 第 4 步:校验配置 validate_node({ nodeType: "nodes-base.httpRequest", config: {method: "POST", url: "https://api.example.com"}, profile: "runtime" })

5.3 案例二:探索 AI 节点

// 查找所有 AI 相关节点 search_nodes({query: "ai agent", source: "all"}) // 获取 AI Agent 的可读文档 get_node({nodeType: "nodes-langchain.agent", mode: "docs"}) // 获取带示例的配置详情 get_node({ nodeType: "nodes-langchain.agent", includeExamples: true })

5.4 案例三:升级前检查版本兼容性

// 查看全部版本 get_node({nodeType: "nodes-base.executeWorkflow", mode: "versions"}) // 检查 v1 → v2 的破坏性变更 get_node({ nodeType: "nodes-base.executeWorkflow", mode: "breaking", fromVersion: "1.0" })

在升级 n8n 实例前,先执行breaking/migrations模式评估影响面,可显著降低工作流被破坏的风险;这两类模式与仓库中的破坏性变更注册与自动修复服务(如 breaking-changes-registry.ts、node-migration-service.ts)同属一个能力体系。


六、工具选择速查表

工具 / 模式何时使用速度体量
search_nodes按关键词找节点<20ms
get_node (standard)获取配置(默认)<10ms1-2K
get_node (minimal)快速元数据核查<5ms200
get_node (full)复杂调试<100ms3-8K
get_node (docs)学习节点用法
get_node (search_properties)查找特定字段
get_node (versions)检查版本历史

核心最佳实践:search_nodesget_node(standard)validate_node

另需注意get_node的 Token 成本模型:minimal ~200、standard ~1000-2000(默认)、full ~3000-8000;includeTypeInfo每属性 +80-120,includeExamples每示例 +200-400,版本类模式约 400-1200。合理控制详情级别与增强参数,是保持 MCP 会话上下文高效的关键。


七、配套资源

  • SEARCH_GUIDE.md:本文的原始指南(节点发现工具);
  • VALIDATION_GUIDE.md:validate_node的校验模式与四种 profile(minimal/runtime/ai-friendly/strict);
  • WORKFLOW_GUIDE.md:节点在工作流中的使用与 18 种工作流管理操作;
  • SKILL.md:工具选择总览与 nodeType 格式说明;
  • 工具实现:tools.ts(工具与输入 schema)、server.ts(search_nodes / get_node 核心实现)、search-nodes.ts 与 get-node.ts(工具文档);
  • 类型归一化:node-type-normalizer.ts;
  • 搜索索引构建:可参考 prebuild-fts5.ts 与 migrate-nodes-fts.ts 了解 FTS5 索引的建立与迁移方式。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 13:29:20

如何识别量化策略过拟合:gs-quant 实战体检指南

如何识别量化策略过拟合&#xff1a;gs-quant 实战体检指南 【免费下载链接】gs-quant Python toolkit for quantitative finance 项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant 回测曲线漂亮&#xff0c;实盘却亏掉 20%——多数情况不是市场变了&#xf…

作者头像 李华
网站建设 2026/9/13 13:28:33

基于Voronoi图与组合优化的充电站选址定容MATLAB实现

简介&#xff1a;面向电动汽车充电站规划场景的Matlab程序包&#xff0c;以规划期充电站总成本&#xff08;投资、运行维护&#xff09;与网损费用之和最小为目标&#xff0c;在相关约束下构建电动汽车充电站最优选址定容数学模型&#xff0c;从34个候选位置中优化选取7个站址。…

作者头像 李华
网站建设 2026/9/13 13:27:08

Broadcom Robo SDK解包与bring-up实战:从TFFS库到VLAN转发

简介&#xff1a;Broadcom Robo系列芯片的软件开发工具包&#xff08;SDK&#xff09;以RAR压缩包形式提供&#xff0c;面向机器人、自动化设备等底层软硬件开发者&#xff0c;用于完成芯片外设驱动、板级支持包&#xff08;BSP&#xff09;移植和应用层控制程序编写。包内共28…

作者头像 李华
网站建设 2026/9/13 13:23:19

短视频相似性检测:多哈希召回与双神经网络精排架构解析

简介&#xff1a;面向短视频平台内容审核、版权保护与个性化推荐等场景&#xff0c;本项目提出并实现了一套结合多哈希算法与孪生神经网络的相似性检测完整方案。方案将视频关键帧特征转换为哈希码&#xff0c;再通过共享权重的双神经子网络学习度量&#xff0c;兼顾检索速度与…

作者头像 李华
网站建设 2026/9/13 13:21:04

YOLOv5改造细粒度猫种识别:从检测到高精度分类的完整实践

简介&#xff1a;本资源是一份基于YOLOv5实现的猫种类识别项目源码&#xff0c;专为计算机视觉初学者与高校学生设计&#xff0c;适用于课程设计、期末大作业及深度学习实践入门。项目已通过严格调试&#xff0c;评审得分95分以上&#xff0c;具备完整训练、验证与推理流程&…

作者头像 李华
网站建设 2026/9/13 13:21:02

SpringBoot酒店系统毕设工程包:可运行+可答辩+可拓展

简介&#xff1a;本资源是一套完整的本科毕业设计项目——基于SpringBoot开发的酒店管理系统&#xff0c;面向计算机相关专业学生及Java初学者&#xff0c;解决课程设计、毕设选题与企业级Web应用开发入门实践需求。压缩包共83个文件&#xff0c;含62个Java核心业务类&#xff…

作者头像 李华