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. No error handling guidance beyond a single divide-by-zero check. Tool names are verb-noun but generic ('add', 'calculate'). Parameters lack detailed constraints or format guidance. No idempotency hints, no permission declarations, no audit trail guidance.
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, when to use each tool, and what they return. Baseline for A+ tools is 50-200 chars with explicit WHAT/WHEN/WHY.
No output schema documented. LLMs cannot plan downstream calls or extract structured data. Both tools return text content but no schema specifies the response structure, field types, or what data is available for chaining.
Parameter descriptions missing or trivial. 'First number to add' and 'First operand' are bare labels, not LLM-optimized descriptions. No format constraints, ranges, or examples. Baseline: 100% of A+ tools have detailed param descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Minimal error handling. Only divide-by-zero is caught; other invalid inputs (negative numbers, NaN, Infinity) are not validated or guided. Error responses lack recovery hints. Baseline: A+ tools categorize errors as retryable/user-fixable/fatal.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are read-only and idempotent but this is not declared in the schema. LLMs cannot infer safety properties without explicit hints.