Get Available Node Types
n8n_get_node_typesRetrieve all available node types with descriptions and categories to identify workflow components for automation design in n8n.
Instructions
Get a list of all available node types in the n8n instance.
Returns: List of node types with their descriptions and categories.
Useful for understanding what nodes are available when creating workflows.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/audit-utils.ts:124-144 (handler)The handler for the n8n_get_node_types tool, which fetches available node types from the /node-types API endpoint and formats them by category for display.
async () => { // This endpoint may vary depending on n8n version const nodes = await get<Array<{ name: string; displayName: string; description?: string; group?: string[] }>>('/node-types'); // Group by category const grouped: Record<string, string[]> = {}; nodes.forEach(node => { const category = node.group?.[0] || 'Other'; if (!grouped[category]) grouped[category] = []; grouped[category].push(`${node.displayName} (${node.name})`); }); const text = Object.entries(grouped) .map(([category, nodeList]) => `**${category}**\n${nodeList.slice(0, 10).join('\n')}${nodeList.length > 10 ? `\n... and ${nodeList.length - 10} more` : ''}`) .join('\n\n'); return { content: [{ type: 'text', text: `**Available Node Types (${nodes.length} total)**\n\n${text}` }], structuredContent: { count: nodes.length, nodes } }; } - src/tools/audit-utils.ts:106-123 (registration)Registration of the n8n_get_node_types tool within the server.registerTool call.
server.registerTool( 'n8n_get_node_types', { title: 'Get Available Node Types', description: `Get a list of all available node types in the n8n instance. Returns: List of node types with their descriptions and categories. Useful for understanding what nodes are available when creating workflows.`, inputSchema: EmptySchema, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false } },