A basic MCP server sample with tools, resources, and prompts
Two tools with minimal descriptions and incomplete parameter documentation. 'randomNumber' has a 19-char description (below 20-char threshold); 'add' has a 22-char description. Neither tool description explains WHEN to use it or what it returns. Parameter descriptions are present but sparse. No output schemas documented. No error handling guidance. No tool annotations (readOnlyHint). Schemas are present and properly typed via Zod, but descriptions lack the depth needed for LLM selection and reasoning.
Add an addition tool
get a random number
Tool descriptions are too short (19 - 22 chars) and lack context. 'get a random number' does not explain when to use it, what range it returns, or how it differs from other randomization tools. Baseline: 194 chars average for A+ tools.
No output schema documented. LLMs cannot plan downstream calls or extract structured data. Tools return text content but no field names or types are declared.
Missing tool annotations. Tools are marked READ_ONLY but no readOnlyHint is present in the schema. This prevents LLMs from understanding side-effect semantics.
No error handling or recovery guidance. If randomNumber receives max=0 or max=101, no actionable error message guides the LLM to retry with valid bounds.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Parameter 'max' in randomNumber lacks context. Description says 'Maximum number of random numbers' but should clarify: does it return one random number up to max, or max random numbers? Current wording is ambiguous.