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-50 chars) and lack context for LLM selection. No output schema documentation. Error handling is minimal (divide-by-zero check in calculate tool only). Tool names are action-oriented (add, calculate) but descriptions don't explain WHEN to use each tool or their differences. No parameter descriptions beyond type hints in schema. Schemas are visible and properly typed, preventing a lower score, but lack the depth needed for production use.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions are critically short (10-50 chars). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection.
No parameter descriptions in schema. Zod schema defines types (z.number(), z.enum()) but provides no descriptions explaining what 'a' and 'b' represent or what 'operation' values mean. LLMs cannot infer parameter semantics from names alone.
No output schema documentation. Tools return text content but no schema describes the response structure, field names, or data types. LLMs cannot plan downstream operations without knowing what fields to expect.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Minimal error handling. Only 'calculate' tool checks for divide-by-zero; 'add' has no validation. Error messages are plain text ('Error: Cannot divide by zero') without recovery guidance. Per pattern:recovery-guide, errors should tell LLM what to do next.
No tool composition guidance. Two tools perform overlapping arithmetic (add appears in both). No documentation explains when to use 'add' vs 'calculate' with operation='add', forcing LLM to guess or try both.