OpenAPI Model Context Protocol Proxy - converts OpenAPI specifications into MCP tools
Critical failures across all dimensions. The single tool 'API-{operationId}' has an empty input schema with no properties, no required fields, and additionalProperties=true. The description is generic boilerplate ('Dynamically generated tools from OpenAPI operations...') that does not explain WHAT each specific operation does, WHEN to call it, or WHAT it returns. No parameter descriptions exist. No output schema is documented. The tool name pattern 'API-{operationId}' is not verb-based and does not follow verb_noun conventions (e.g., 'get_', 'create_', 'list_'). The schema is effectively a catch-all that forces LLMs to guess parameter names and types from the OpenAPI spec at runtime, a fundamental violation of the tool definition contract. This server generates tools dynamically from OpenAPI specs, but the MCP tool registration itself is severely underspecified.
Dynamically generated tools from OpenAPI operations. Each operation in the OpenAPI spec becomes a separate MCP tool with the operation's summary or description.
Input schema is empty (no properties, no required fields, additionalProperties=true). LLMs cannot infer parameter names, types, or constraints. This violates the fundamental contract of tool definitions.
Tool name 'API-{operationId}' does not start with an action verb. Names like 'API-listPets' or 'API-createPet' would be marginally better, but the 'API-' prefix adds no semantic value. Should be 'list_pets', 'create_pet', etc.
Description is generic boilerplate that applies to all operations. It does not explain what each specific tool does, when to use it, or what it returns. LLMs cannot distinguish between different operations or select the right tool.
No output schema is documented. LLMs do not know what fields to expect in responses, making it impossible to plan downstream tool calls or extract data reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 23 | 2026-07-28+ | v2 |
Tool registration appears to be dynamic/inferred from OpenAPI specs rather than explicitly defined in MCP tool registration. Per hard scoring rules, inferred tool definitions cap at 50 overall. This server's actual implementation is even worse, the schema is empty.