Single tool 'add' has a clear verb-noun name and basic schema with typed parameters. However, the tool lacks depth in error handling, output documentation, and composition guidance. Description is minimal (18 chars, below the 34-char p10 baseline). No output schema documented. Parameters have descriptions but lack range constraints. Tool annotations present but underutilized. This is a minimal boilerplate example, not production-grade.
Add two numbers
Tool description is only 18 characters ('Add two numbers'). Below p10 baseline of 34 chars. Lacks context on when to use, what it returns, or error cases.
No output schema documented. LLMs cannot infer that 'add' returns a string representation of a number. Downstream tools cannot chain on this result.
Numeric parameters lack range constraints. No min/max specified for 'a' and 'b'. LLMs may pass absurd values (e.g., 1e308) without guidance.
No error handling documented. What happens if inputs are NaN, Infinity, or non-numeric? No recovery guidance for LLMs.
Tool annotations present (readOnlyHint, openWorldHint) but title annotation is redundant with tool name. No destructiveHint or idempotentHint used where applicable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |