MCP server with API docs for 205 services
The server provides 5 read-only tools with clear, action-verb names (search_api, get_api_docs, get_endpoint, get_n8n_http_config, list_services) that follow verb_noun convention. All tools have descriptions and Zod schema definitions visible in src/index.ts. However, significant quality gaps limit production readiness: (1) All parameter descriptions are minimal (10-20 chars), below the 50-200 char baseline for LLM-optimized production tools. (2) Output schemas are not documented, responses use generic text content without structured field definitions, making it impossible for agents to extract and chain results. (3) Error responses are informational text but lack actionable recovery guidance or error classification (retryable/user-fixable/fatal). (4) No pagination, result limiting, or batch parameters despite returning lists (list_services can return 205 services per data/services.js). (5) Parameter constraints are minimal, no enums, ranges, or format specifications beyond basic string types. This server would function in interactive scenarios but lacks the robustness for reliable agentic automation.
Get full API documentation for a specific service
Get details of a specific API endpoint
Get n8n HTTP Request node configuration for a service endpoint
List all available services, optionally filtered by category
Search for API services by name, category, or keyword
Output schemas undocumented. All tools return generic text content [{type: 'text', text: '...'}] without structured field definitions. Agents cannot extract typed fields (service_id, endpoint_url, auth_type) for downstream tool chaining. Example: search_api returns markdown text; a downstream tool needing service_id must parse the response text, which is fragile and error-prone.
Parameter descriptions are minimal (10-20 characters). 'Search query', 'Service name', 'Filter by category (optional)' are too brief. Production baseline is 50-200 chars with context on valid formats, constraints, and examples. LLMs struggle to understand scope without richer descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 39 | - | v1 |
No pagination or result limiting. list_services and search_api can return up to 205 services with no limit parameter, page parameter, or documented cap. Returning all 205+ service descriptions in one response will exhaust context windows. list_services() with no category filter returns all services; baseline requires pagination with limit/offset and total_count in response.
Error responses lack actionable recovery guidance. When 'service not found', tools return text like 'Service "X" not found. Use search_api to find it.' but do not classify the error (retryable, user-fixable) or provide next-step context. A bare 404 gives agents no direction.
Parameter constraints absent. 'category' parameter in list_services has no enum. 'endpoint_name' in get_endpoint uses fuzzy matching (toLowerCase().includes()) but no documentation of valid formats. Enums and format specs are missing, 'search_api' accepts free-form string with no guidance on search scope (by name? description? category?).
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint flags that would signal to agents which tools are safe to call without side effects. All tools are read-only but lack explicit annotation.