search_node_properties
Locate specific properties (auth, headers, body, etc.) within an n8n node. Returns paths and descriptions for efficient workflow automation and integration.
Instructions
Find specific properties in a node (auth, headers, body, etc). Returns paths and descriptions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| maxResults | No | Max results (default 20) | |
| nodeType | Yes | Full type with prefix | |
| query | Yes | Property to find: "auth", "header", "body", "json" |
Implementation Reference
- src/database/node-repository.ts:206-239 (handler)Core handler logic that recursively searches through a node's properties (including nested options) for matches in name, displayName, or description. Returns up to maxResults matching properties with path and description.searchNodeProperties(nodeType: string, query: string, maxResults: number = 20): any[] { const node = this.getNode(nodeType); if (!node || !node.properties) return []; const results: any[] = []; const searchLower = query.toLowerCase(); function searchProperties(properties: any[], path: string[] = []) { for (const prop of properties) { if (results.length >= maxResults) break; const currentPath = [...path, prop.name || prop.displayName]; const pathString = currentPath.join('.'); if (prop.name?.toLowerCase().includes(searchLower) || prop.displayName?.toLowerCase().includes(searchLower) || prop.description?.toLowerCase().includes(searchLower)) { results.push({ path: pathString, property: prop, description: prop.description }); } // Search nested properties if (prop.options) { searchProperties(prop.options, currentPath); } } } searchProperties(node.properties); return results; }
- src/mcp-tools-engine.ts:92-94 (handler)MCP tool handler in MCPEngine class. Accepts tool arguments and delegates to NodeRepository.searchNodePropertiesasync searchNodeProperties(args: any) { return this.repository.searchNodeProperties(args.nodeType, args.query, args.maxResults || 20); }
- src/mcp/tools-n8n-friendly.ts:36-36 (helper)Documentation noting that search_node_properties functionality has been consolidated into the get_node tool with mode='search_properties'// Consolidated node info tool (replaces get_node_info, get_node_essentials, get_node_documentation, search_node_properties)
- scripts/migrate-tool-docs.ts:19-20 (registration)Legacy tool registration reference in migration script listing search_node_properties under configuration tools'search_node_properties', 'get_node_as_tool_info',
- src/mcp/tools.ts:60-111 (schema)Current schema for consolidated get_node tool includes search_properties mode with propertyQuery parameter equivalent to legacy search_node_properties tool.name: 'get_node', description: `Get node info with progressive detail levels and multiple modes. Detail: minimal (~200 tokens), standard (~1-2K, default), full (~3-8K). Modes: info (default), docs (markdown documentation), search_properties (find properties), versions/compare/breaking/migrations (version info). Use format='docs' for readable documentation, mode='search_properties' with propertyQuery for finding specific fields.`, inputSchema: { type: 'object', properties: { nodeType: { type: 'string', description: 'Full node type: "nodes-base.httpRequest" or "nodes-langchain.agent"', }, detail: { type: 'string', enum: ['minimal', 'standard', 'full'], default: 'standard', description: 'Information detail level. standard=essential properties (recommended), full=everything', }, mode: { type: 'string', enum: ['info', 'docs', 'search_properties', 'versions', 'compare', 'breaking', 'migrations'], default: 'info', description: 'Operation mode. info=node schema, docs=readable markdown documentation, search_properties=find specific properties, versions/compare/breaking/migrations=version info', }, includeTypeInfo: { type: 'boolean', default: false, description: 'Include type structure metadata (type category, JS type, validation rules). Only applies to mode=info. Adds ~80-120 tokens per property.', }, includeExamples: { type: 'boolean', default: false, description: 'Include real-world configuration examples from templates. Only applies to mode=info with detail=standard. Adds ~200-400 tokens per example.', }, fromVersion: { type: 'string', description: 'Source version for compare/breaking/migrations modes (e.g., "1.0")', }, toVersion: { type: 'string', description: 'Target version for compare mode (e.g., "2.0"). Defaults to latest if omitted.', }, propertyQuery: { type: 'string', description: 'For mode=search_properties: search term to find properties (e.g., "auth", "header", "body")', }, maxPropertyResults: { type: 'number', description: 'For mode=search_properties: max results (default 20)', default: 20, }, }, required: ['nodeType'], }, },