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, enum), but descriptions are extremely short (18-47 chars, well below the 50-200 char baseline for LLM-optimized descriptions). The 'calculate' tool has a proper enum constraint for operations, but neither tool documents output structure, error recovery paths, or when to use one vs. the other. No parameter descriptions beyond the schema. Error handling exists (divide-by-zero check) but returns unstructured text rather than actionable guidance.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions are critically short (18-47 chars vs. 50-200 char baseline). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection, prerequisites, or when to use one vs. the other.
No parameter descriptions in tool definitions. Parameters 'a', 'b', and 'operation' lack explanations of their purpose, constraints, or expected format. LLMs cannot infer meaning from names alone.
Output schema not documented. Tools return text content but LLMs have no formal specification of return structure, field names, or data types. Prevents reliable downstream tool chaining.
Error handling returns unstructured text ('Error: Cannot divide by zero') instead of actionable guidance. No recovery suggestions or error classification (retryable vs. fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Tool naming lacks verb clarity. 'add' and 'calculate' are generic; 'calculate' overlaps with 'add' functionality, forcing LLM to reason about when to use each. Consider 'add_numbers' and 'perform_arithmetic' for clarity.