Files
n8n-mcp/src/mcp/tool-docs/configuration/get-node-info.ts
czlonkowski 24d775960b refactor: rewrite all MCP tool documentation for AI agent optimization
- Redesigned documentation to be utilitarian and AI-agent focused
- Removed all pleasantries, emojis, and conversational language
- Added concrete numbers throughout (528 nodes, 108 triggers, 264 AI tools)
- Updated all tool descriptions with practical, actionable information
- Enhanced examples with actual return structures and usage patterns
- Made Code node guides prominently featured in overview
- Verified documentation accuracy through extensive testing
- Standardized format across all 30+ tool documentation files

Documentation now optimized for token efficiency while maintaining
clarity and completeness for AI agent consumption.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-17 21:35:01 +02:00

98 lines
4.0 KiB
TypeScript

import { ToolDocumentation } from '../types';
export const getNodeInfoDoc: ToolDocumentation = {
name: 'get_node_info',
category: 'configuration',
essentials: {
description: 'Returns complete node schema with ALL properties (100KB+ response). Only use when you need advanced properties not in get_node_essentials. Contains 200+ properties for complex nodes like HTTP Request. Requires full prefix like "nodes-base.httpRequest".',
keyParameters: ['nodeType'],
example: 'get_node_info({nodeType: "nodes-base.slack"})',
performance: '100-500ms, 50-500KB response',
tips: [
'Try get_node_essentials first (95% smaller)',
'Use only for advanced configurations',
'Response may have 200+ properties'
]
},
full: {
description: 'Returns the complete JSON schema for a node including all properties, operations, authentication methods, version information, and metadata. Response sizes range from 50KB to 500KB. Use this only when get_node_essentials doesn\'t provide the specific property you need.',
parameters: {
nodeType: { type: 'string', required: true, description: 'Full node type with prefix. Examples: "nodes-base.slack", "nodes-base.httpRequest", "nodes-langchain.openAi"' }
},
returns: `Complete node object containing:
{
"displayName": "Slack",
"name": "slack",
"type": "nodes-base.slack",
"typeVersion": 2.2,
"description": "Consume Slack API",
"defaults": {"name": "Slack"},
"inputs": ["main"],
"outputs": ["main"],
"credentials": [
{
"name": "slackApi",
"required": true,
"displayOptions": {...}
}
],
"properties": [
// 200+ property definitions including:
{
"displayName": "Resource",
"name": "resource",
"type": "options",
"options": ["channel", "message", "user", "file", ...],
"default": "message"
},
{
"displayName": "Operation",
"name": "operation",
"type": "options",
"displayOptions": {
"show": {"resource": ["message"]}
},
"options": ["post", "update", "delete", "get", ...],
"default": "post"
},
// ... 200+ more properties with complex conditions
],
"version": 2.2,
"subtitle": "={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}",
"codex": {...},
"supportedWebhooks": [...]
}`,
examples: [
'get_node_info({nodeType: "nodes-base.httpRequest"}) - 300+ properties for HTTP requests',
'get_node_info({nodeType: "nodes-base.googleSheets"}) - Complex operations and auth',
'// When to use get_node_info:',
'// 1. First try essentials',
'const essentials = get_node_essentials({nodeType: "nodes-base.slack"});',
'// 2. If property missing, search for it',
'const props = search_node_properties({nodeType: "nodes-base.slack", query: "thread"});',
'// 3. Only if needed, get full schema',
'const full = get_node_info({nodeType: "nodes-base.slack"});'
],
useCases: [
'Analyzing all available operations for a node',
'Understanding complex property dependencies',
'Discovering all authentication methods',
'Building UI that shows all node options',
'Debugging property visibility conditions'
],
performance: '100-500ms depending on node complexity. HTTP Request node: ~300KB, Simple nodes: ~50KB',
bestPractices: [
'Always try get_node_essentials first - it\'s 95% smaller',
'Use search_node_properties to find specific advanced properties',
'Cache results locally - schemas rarely change',
'Parse incrementally - don\'t load entire response into memory at once'
],
pitfalls: [
'Response can exceed 500KB for complex nodes',
'Contains many rarely-used properties that add noise',
'Property conditions can be deeply nested and complex',
'Must use full node type with prefix (nodes-base.X not just X)'
],
relatedTools: ['get_node_essentials for common properties', 'search_node_properties to find specific fields', 'get_property_dependencies to understand conditions']
}
};