A simple MCP server providing calculator tools with basic arithmetic operations
Two tools with basic schemas and minimal descriptions. Both tools have input schemas with proper types (number, enum), but descriptions are extremely short (10-40 chars) and lack context for LLM selection. No output schema documentation. No error handling guidance beyond a single divide-by-zero check. Tool names are verb-based but generic. Schemas present but descriptions fall well below the 50-200 char baseline for A+ tools.
Simple addition tool
Calculator tool with multiple operations
Descriptions critically short (10-40 chars). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection.
No output schema documented. LLMs cannot plan downstream calls or extract structured data. Responses are text-only; no field types or structure specified.
Minimal error handling. Only divide-by-zero is caught; other invalid inputs (negative numbers, non-numeric strings) are not validated or guided. Error message 'Error: Cannot divide by zero' does not suggest recovery steps.
Tool naming lacks specificity. 'add' and 'calculate' are generic. 'add' could be confused with 'calculate' with operation='add'. Consider 'add_numbers' and 'perform_arithmetic' to disambiguate.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Parameter descriptions missing for 'operation' enum values. LLMs need to know what each operation does (e.g., 'subtract: a minus b'). Current description only lists the enum but not semantics.