Descriptions are present but minimal (10-50 chars), below the 50-200 char baseline for LLM-optimized descriptions. No parameter descriptions exist (all tools have zero parameters). No output schema documentation. No error handling guidance. Tools are read-only and simple, but lack the rigor expected of production tools.
Get all available categories for Chuck Norris jokes
Get a random Chuck Norris joke
Get a random dad joke
Get a random Yo Mama joke
All tools have empty input schemas (parameters: {}).
Descriptions are 10-50 characters, below the 50-200 char baseline for LLM-optimized descriptions. Descriptions lack context on WHEN to use each tool and what distinguishes them.
No output schema documented. LLMs cannot predict response structure (e.g., is it a string, object with fields, array?). Clients must infer from code.
No error handling guidance. If external APIs fail (chucknorris.io, icanhazdadjoke.com, yomama-jokes.com), tools return raw fetch errors with no recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Tool names are clear (verb_noun pattern), but descriptions do not explain when to use get-chuck-joke vs get-chuck-categories, or why an agent would choose one joke API over another.