FastAPI server exposing math tools via MCP.
Two tools with minimal definitions. Both have verb-noun names (add, multiply) and basic integer parameters with type info, but descriptions are extremely short (18-24 chars, well below the 50-200 char baseline for LLM-optimized descriptions). No parameter descriptions provided, only type and name. No output schema documented. No error handling guidance. No composition hints. Tool definitions appear in index.py with @mcp.tool decorators, but parameter descriptions are completely absent, violating the 100% baseline for A+ tools.
Add two numbers
Multiply two numbers
Parameter descriptions completely missing. Both tools have 'a' and 'b' parameters with only type and name, no descriptions explaining what each parameter controls or represents.
Tool descriptions are 18-24 characters, far below the 50-200 char baseline for LLM-optimized descriptions. 'Add two numbers' and 'Multiply two numbers' lack context for when to use each tool, prerequisites, or return value structure.
No output schema documented. LLMs cannot infer what fields the response contains or how to chain results to downstream tools. Both tools return integers but this is not formally declared.
No error handling or recovery guidance. If a tool fails (e.g., integer overflow), the LLM receives no actionable error message or next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Code contains unused tools (subtract, divide in server.py) not exposed via MCP. Inconsistency between FastAPI endpoints and MCP tool registration creates confusion about what is actually available.