A remote MCP server with OAuth 2.0 authentication provider running on Cloudflare Workers
Single tool 'add' has a clear verb-noun name and basic schema with typed parameters. However, the description is extremely minimal (22 chars), barely meeting the 10-char floor. Parameter descriptions are present but terse (12-18 chars each). No output schema is documented, the response structure is inferred from code but not declared in tool metadata. No error handling guidance, no idempotency hints, no security considerations. The tool is trivial (arithmetic), so composition and chaining concerns are moot, but the definition pattern is weak for production use.
Adds two numbers together
Tool description is 22 characters, below the 50-char minimum for LLM clarity. 'Adds two numbers together' lacks context on when to use it, what it returns, or any prerequisites.
Output schema is not documented. The tool returns {content: [{type: 'text', text: string}]} but this structure is invisible to the LLM, it must infer the response shape from trial and error.
Parameter descriptions are terse (12 - 18 chars). 'First number to add' and 'Second number to add' lack format hints, range constraints, or examples. No guidance on what happens if inputs are null, NaN, or Infinity.
No error handling guidance. What if the sum overflows? What if inputs are non-numeric? The tool provides no recovery hints for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Tool is idempotent and read-only (arithmetic has no side effects), but these properties are not declared via toolAnnotations (readOnlyHint, idempotentHint). LLMs cannot infer safety properties without explicit hints.