A remote MCP server providing calculator tools without authentication, deployed on Cloudflare Workers
Two tools with basic schemas and minimal descriptions. Both tools have input schemas with proper types (number, string, enum), but descriptions are extremely short (10-40 chars), falling well below the 50-200 char baseline for LLM-optimized descriptions. No output schemas documented. Error handling is minimal (divide-by-zero check in 'calculate' returns text, not structured error). Tool names lack action verbs ('add' and 'calculate' are weak; 'perform_addition' and 'perform_calculation' would be clearer). No parameter descriptions beyond type hints. Schemas are visible and properly typed, preventing a lower score, but the overall quality is below median for production tools.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions are critically short (10-40 chars). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection. Should explain WHEN to use each tool, what distinguishes them, and what they return.
No parameter descriptions. Parameters 'a', 'b', and 'operation' have types but no descriptions explaining their meaning, constraints, or valid ranges. LLMs cannot infer that 'operation' is an enum without reading the schema.
Output schemas not documented. Tool responses return text content, but no schema is declared. LLMs cannot plan downstream operations or validate results.
Weak tool naming. 'add' and 'calculate' lack action verbs and are ambiguous. 'add' could mean add to a list, add a user, or add numbers. 'calculate' is generic. Recommend 'perform_addition' and 'perform_arithmetic' or 'compute_arithmetic_operation'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Error handling is unstructured. Divide-by-zero returns plain text 'Error: Cannot divide by zero' instead of a structured error with recovery guidance. LLMs cannot parse or act on this.