A simple MCP server that provides hilariously over-the-top greetings and generates silly Mad Libs stories about an intergalactic pet show.
Two tools with basic definitions but significant quality gaps. 'greeting' has no input schema (empty object) and minimal description (8 words). 'mad_libs' has a complete 13-parameter schema with descriptions, but the tool description is generic (11 words) and lacks context on when/why to use it. Neither tool documents output structure. No error handling guidance. Parameter descriptions in mad_libs are minimal (2-8 words each), below the 72-char baseline. No mention of idempotency, side effects, or recovery paths.
Provides a hilariously over-the-top greeting.
Creates a silly Mad Libs story about an intergalactic pet show.
greeting tool has no input schema (empty object {}) and description is only 8 words. Violates pattern:tool-description (10-1024 char requirement) and pattern:constrained-input.
No output schemas documented for either tool. LLMs cannot plan downstream calls or extract structured data. Violates pattern:tool (document return types).
mad_libs parameter descriptions are 2-8 words each (e.g., 'An adjective', 'A plural noun'), far below 72-char baseline. Descriptions lack format constraints, examples of valid input, or dependencies between parameters.
No error handling or recovery guidance. If mad_libs receives invalid input (e.g., number1 as string instead of int), no actionable error message guides the LLM to retry or correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
Tool names lack action verbs. 'greeting' and 'mad_libs' are nouns, not verb_noun patterns (e.g., 'get_greeting', 'generate_mad_libs'). LLMs cannot infer intent from names alone.