MCP server for interacting with apitranslate API to explore and analyze OpenAPI specifications
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation, output schema clarity, and error handling guidance. Tool names follow verb_noun convention (getApiOverview, getApiOperation), but descriptions lack context on when to use each tool and what structure is returned. Parameters have Zod type definitions but descriptions are minimal. No documented output schema. Error handling returns generic error text without recovery guidance. Missing parameter constraints (enums, ranges) and composition hints.
Get details about a specific operation from an OpenAPI specification. Use this after getting an overview.
Get an overview of an OpenAPI specification. This should be the first step when working with any API.
No documented output schema. Tools return text content but LLMs cannot infer structure (fields, types, pagination). Breaks downstream tool chaining and forces LLMs to parse unstructured responses.
Parameter descriptions are minimal (1-2 sentences) and lack format/constraint details. 'API identifier' does not explain valid formats (openapisearch.com ID vs raw URL). 'HTTP method' lacks enum constraint (GET|POST|PUT|DELETE|PATCH).
Error handling returns raw error text without recovery guidance. 'SLOP API error: ...' or 'Error: ...' gives LLM no actionable next step. Should indicate: is this retryable? Should user provide different input? Are there alternative tools?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
Tool descriptions lack composition hints and prerequisites. getApiOperation says 'Use this after getting an overview' but does not explain what data from getApiOverview is needed or how to extract operationId from the overview response.
getApiOperation has three optional parameters (operationId, path, method) with undocumented mutual exclusivity. Code enforces 'if path then method required' but description does not state this. LLMs will pass invalid combinations.