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' only). Tool names are action-oriented but descriptions don't explain WHEN to use each tool or distinguish between 'add' (simple) vs 'calculate' (multi-operation). No parameter descriptions beyond type hints in schema. Composition is reasonable (two separate tools), but lacks production-grade polish.
Simple addition tool
Calculator tool with multiple operations
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 tool definitions. Schema shows types (number, string, enum) but LLMs cannot infer meaning from names alone. 'a' and 'b' are ambiguous; 'operation' lacks guidance on when to use each enum value.
No output schema documented. Callers cannot predict response structure. Tool returns text content but no schema specifies field names, types, or whether results are always numeric.
Tool naming does not clearly distinguish use cases. Both 'add' and 'calculate' can perform addition. LLM must reason about which to call; no description explains when to prefer 'add' (simple, fast) vs 'calculate' (flexible, multi-op).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Minimal error handling. Only 'calculate' checks for divide-by-zero; 'add' has no validation. No error messages guide LLM recovery. Per pattern:recovery-guide, errors should tell the agent what to do next.