OpenAPI 3.x to MCP server bridge with stdio, StreamableHTTP, and SSE transports
Critical failures across all dimensions. Input schemas present but minimal: getHealth has empty object (no params), postEcho has nested body structure but lacks parameter descriptions. No output schemas documented. No error handling guidance. Tool names are HTTP-verb-prefixed (getHealth, postEcho) rather than action-verb-noun (get_health_status, echo_message), making intent ambiguous. Descriptions are bare HTTP routes, not LLM-optimized guidance on WHEN/WHY to call these tools. No evidence of pagination, result limits, or composition patterns. Risk annotations (READ_ONLY, WRITE) present but not integrated into descriptions.
GET /health
POST /echo
Tool descriptions are bare HTTP routes ('GET /health', 'POST /echo'), not LLM-optimized guidance.
No parameter descriptions. postEcho.body.message lacks explanation of what message content is expected, format, constraints, or examples. LLMs cannot infer parameter semantics from names alone.
No output schemas documented. Callers cannot know what fields getHealth or postEcho return, breaking downstream tool composition and forcing LLMs to guess response structure.
Tool names use camelCase HTTP verbs (getHealth, postEcho) instead of snake_case action-noun pattern (get_health_status, echo_message). Violates 90% baseline of A+ tools starting with clear action verbs.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2025-06-18+ | v2 |
No error handling guidance. No indication of what errors are retryable, user-fixable, or fatal. No recovery suggestions (e.g., 'If echo fails, check message format').