Enhanced MCP nodes for n8n with AI Agent support
This is an n8n node package wrapping MCP client functionality, not an MCP server itself. Tool definitions are present but lack depth. All 7 tools have basic descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization) and minimal parameter documentation. Input schemas exist but are sparse: executeTool has only 2 params with generic descriptions; others have 0-1 params. No output schemas documented. No error handling guidance, no parameter constraints (enums, ranges), no idempotency hints. Naming is verb-forward (get_, list_, read_, execute_) but descriptions don't explain WHEN to use each tool or what distinguishes them. For example, listResources vs listResourceTemplates are not differentiated in their descriptions.
Execute a specific tool
Get a specific prompt template
Get available prompts
Get a list of available resource templates
Get a list of available resources
Get available tools
Read a specific resource by URI
Descriptions are too short (10-50 chars vs 50-200 baseline). 'Get available prompts' and 'Get a list of available resources' lack context for LLM tool selection. No explanation of WHEN to call each tool or what distinguishes listResources from listResourceTemplates.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., what fields does listTools return? Does it include tool descriptions?). This violates the documented output schema requirement.
executeTool parameter 'toolParameters' is type 'object' with no schema constraints. LLMs cannot validate what keys/values are valid. No enum, pattern, or format guidance. Parameter description is generic ('Parameters to pass to the tool in JSON format').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No error handling guidance. Tools return no recovery hints (e.g., 'Tool not found. Call listTools() first to see available tools.'). No categorization of errors as retryable vs fatal. Agents cannot self-correct on failure.
listResources and listResourceTemplates are not differentiated in descriptions. LLMs cannot determine which to call. No explanation of the difference between a 'resource' and a 'resource template'.