OpenAPI Model Context Protocol Proxy - converts OpenAPI specifications into MCP tools
7 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names use API- prefix (non-standard) and lack action verbs. Descriptions are present but brief (10-50 chars, below the 50-200 char baseline for LLM optimization). Parameters have types and descriptions, meeting minimum requirements. No output schemas documented. Error handling and recovery guidance absent. Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) are present but not mapped to MCP tool annotations.
Add a new pet to the store
Delete a pet
Find pet by ID
List all pets
Update pet status
Upload multiple documents for a pet
Upload a single photo for a pet
Tool names use non-standard 'API-' prefix and lack action verbs. LLMs infer intent from names, 'API-listPets' is opaque; 'list_pets' is self-documenting. Prefix adds no semantic value and wastes tokens.
Descriptions are too brief (10-50 chars vs. baseline 50-200 chars). 'List all pets' and 'Add a new pet to the store' lack context for LLM selection. Missing: when to use, what it returns, prerequisites, and state-change implications.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., does listPets return [id, name, status] or verbose records? Does createPet return the new pet object with ID?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Risk annotations (READ_ONLY, WRITE, DESTRUCTIVE) present in metadata but not mapped to MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot infer safety/retry semantics from tool definitions alone.
No error handling or recovery guidance. If deletePet fails or uploadPetPhoto rejects a file, the LLM has no actionable next step. Missing: error categorization (retryable vs. user-fixable), invalid value feedback, and alternative suggestions.