The Demo server defines a single tool 'add' with minimal quality. The tool name lacks a verb prefix (should be 'add_numbers'), the description is extremely terse (11 chars, below baseline 34 chars), and parameter descriptions are completely missing (both 'a' and 'b' have null descriptions). The input schema is present but undocumented. No output schema is documented. No error handling, recovery guidance, or composition patterns are evident. The server also exposes a resource and prompt, but evaluation focuses on the tool definition quality.
Add two numbers
Tool name 'add' lacks action-verb prefix. Should be 'add_numbers' or similar to help LLMs infer intent from the name alone before reading the description.
Tool description 'Add two numbers' is only 16 characters, far below the baseline 34 chars (p10) and the recommended 50-200 chars for LLM optimization. Does not answer WHEN to use it, WHAT it returns, or any context for selection.
Both parameters 'a' and 'b' have null descriptions. LLMs cannot infer that 'a' and 'b' are numeric operands or understand their roles. Every parameter must have a non-empty description.
No output schema is documented. The code returns an integer, but the tool definition provides no structured output declaration. LLMs need to know the return type and structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 38 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
No error handling or recovery guidance. If the operation fails (e.g., integer overflow, invalid type coercion), the tool provides no actionable error message or next-step guidance.