A basic MCP server with math tools
Simple Calculator Server has 2 well-defined tools with explicit schemas and descriptions visible in the source code. Tool naming follows verb_noun convention (add, random_number). Descriptions are present and adequate (30-70 chars), though they lack context for when to use tools or dependencies. Input schemas are fully visible with parameter types and descriptions. However, output schemas are not documented, the tools return raw integers with no structured envelope, and there is no guidance on what fields to expect. Parameters lack range constraints (min/max bounds), which is a notable gap for numeric operations. No error handling, no recovery guidance. Resource feature is present but undocumented. Overall quality is fair, meets basic standards but misses several patterns that would elevate it to 'Good' (70+).
Add two numbers together.
Generate a random number within a range.
Output schemas not documented. Tools return raw integers without structured envelope or field descriptions. LLMs cannot plan downstream operations or extract context.
Numeric parameters lack min/max bounds. The random_number tool accepts min_val and max_val but does not enforce that min_val <= max_val, and no description warns against invalid ranges (e.g., min=100, max=1).
No error handling or recovery guidance. If random_number receives min_val > max_val, the tool will crash. LLMs receive no actionable error message to self-correct.
Tool descriptions lack context for LLM selection. 'Add two numbers together' does not explain when to use add vs other potential arithmetic tools, or any prerequisites.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 55 | - | v1 |
Resource (info://server) is defined but not documented in tool definitions. LLMs cannot discover when or how to call it.