MCP server that exposes FastAPI endpoints as tools via OpenAPI spec parsing
Only 1 tool defined (ADD). Tool has proper JSON Schema with typed parameters and descriptions, but the server exhibits critical structural and documentation issues. Tool naming is overly generic (single word, no verb_noun pattern). The server is incomplete, dependencies declared but sample_fastapi_server files suggest the project is a template or boilerplate, not production-ready. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). The implementation mixes unused imports (FastMCP, SSE transport), incomplete comments, and hardcoded localhost URLs, suggesting active development rather than stable code.
Add two integers
Tool name 'ADD' violates verb_noun pattern; should be 'add_integers' or 'add_numbers' to clarify intent and enable LLM parsing
Tool description 'Add two integers' is 21 characters, minimal and lacks context for when to call it vs other math tools, prerequisites, or what it returns
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) declared. ADD is read-only and idempotent, should declare both for agent planning
Error handling in call_tool returns TextContent with raw exception messages (no recovery guidance). LLM cannot infer next steps from 'Error calling tool ADD: Connection refused'
Backend URL hardcoded to 'http://localhost:8000/add' in call_tool. Prevents deployment; should use environment variables or configuration
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 40 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 29 | - | v1 |
Output schema not documented. LLM does not know if response is {'result': number} or plain number; forces LLM to guess structure
Code includes incomplete comments ('# a.list_tools÷', 'NEED TO IMPORT AN FUNCTION'), unused imports (FastMCP 'a=FastMCP' never used), and dead code, suggests unfinished implementation
No output pagination, limits, or structure guidance for ADD. If extended to return arrays, no pagination parameters defined