get_node_info
Retrieve detailed documentation for specific n8n nodes by providing the nodeType string. Enables accurate workflow automation by accessing node properties and operations.
Instructions
Get full node documentation. Pass nodeType as string with prefix. Example: nodeType="nodes-base.webhook"
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nodeType | Yes | Full type: "nodes-base.{name}" or "nodes-langchain.{name}". Examples: nodes-base.httpRequest, nodes-base.webhook, nodes-base.slack |
Implementation Reference
- src/mcp-tools-engine.ts:27-29 (handler)Primary MCP tool handler for 'get_node_info'. Delegates to NodeRepository.getNodeByType(args.nodeType). This method implements the core tool execution logic.async getNodeInfo(args: any) { return this.repository.getNodeByType(args.nodeType); }
- NodeRepository.getNode() - Called by getNodeByType(). Performs normalized database query to retrieve node data, handles fallback lookup, and parses the row into structured node object.getNode(nodeType: string): any { // Normalize to full form first for consistent lookups const normalizedType = NodeTypeNormalizer.normalizeToFullForm(nodeType); const row = this.db.prepare(` SELECT * FROM nodes WHERE node_type = ? `).get(normalizedType) as any; // Fallback: try original type if normalization didn't help (e.g., community nodes) if (!row && normalizedType !== nodeType) { const originalRow = this.db.prepare(` SELECT * FROM nodes WHERE node_type = ? `).get(nodeType) as any; if (originalRow) { return this.parseNodeRow(originalRow); } } if (!row) return null; return this.parseNodeRow(row); }
- Convenience alias getNodeByType() that directly calls getNode(). This is the immediate delegate from the MCP engine handler.getNodeByType(nodeType: string): any { return this.getNode(nodeType); }
- Alternative/detailed getNodeInfo implementation in NodeDocumentationService. May be used in other contexts or as a supporting service for enhanced node information retrieval.async getNodeInfo(nodeType: string): Promise<NodeInfo | null> { await this.ensureInitialized(); const stmt = this.db!.prepare(` SELECT * FROM nodes WHERE node_type = ? OR name = ? COLLATE NOCASE `); const row = stmt.get(nodeType, nodeType); if (!row) return null; return this.rowToNodeInfo(row); }