An MCP server that provides tools to search and retrieve detailed Pokémon information from the PokéAPI
Single tool with basic schema and minimal description. Tool name 'search_pokemon' follows verb_noun convention (+), but description is only 31 chars, below the 50-200 char baseline for LLM-optimized descriptions. Input schema present with type and description for pokemon_name parameter (+), but output schema is completely undocumented, LLMs cannot predict response structure. No error handling guidance; generic catch-all returns unstructured text. No parameter constraints (e.g., min/max length, format validation). Tool lacks idempotency documentation and does not indicate it is read-only in the description itself.
find pokemon using the poke_api
Output schema completely undocumented. Tool returns unstructured text blob with no field definitions. LLMs cannot parse response structure or chain to downstream tools.
Tool description is only 31 characters ('find pokemon using the poke_api'). Below 50-char minimum for LLM-optimized descriptions. Does not explain WHEN to use, WHAT it returns, or any prerequisites.
No parameter constraints. 'pokemon_name' accepts any string with no length limits, format validation, or examples. LLMs may pass empty strings, extremely long inputs, or special characters without guidance.
Error handling returns generic unstructured text ('Pokemon not found', 'Error fetching pokemon data'). No recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Tool description does not declare read-only nature. Agents cannot infer safety for retry logic or understand idempotency guarantees.