A Pokémon Trading Card Game (PTCG) search and information server that provides tools to search for cards, retrieve detailed card information, and look up pricing data
Single tool with well-structured schema and detailed parameter descriptions. The pokemon-card-search tool has a comprehensive input schema with 14 parameters, all properly typed and described. Naming follows verb_noun pattern (search_). Descriptions are detailed and include field-specific guidance. However, output schema is not documented in the source, only the Card interface is defined internally. The server lacks error handling patterns, recovery guidance, and confirmation steps for potentially expensive operations. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. The extensive field descriptions in FIELD_DESCRIPTIONS constants show good intent but are verbose and somewhat redundant.
Searches for Pokemon cards
Output schema not documented for the LLM. The Card and PtcgResponse interfaces are internal TypeScript types, not exposed in the tool registration. LLMs cannot know what fields to expect in the response, preventing proper downstream planning and field extraction.
No tool annotations present. Missing readOnlyHint, destructiveHint, and idempotentHint in the tool registration. Since this is a read-only search, it should be annotated with readOnlyHint=true to indicate safety for retry and caching.
No error handling or recovery guidance. If the PTCG API returns 404, rate limit, or invalid filter combinations, there are no error messages guiding the LLM on what to do next (retry, simplify query, check parameter values).
Result limiting not enforced or documented. The tool accepts page and pageSize parameters but the description does not state the maximum page size or default result cap. Large unbounded queries could exhaust context window.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Verbose parameter descriptions with repetitive guidance. FIELD_DESCRIPTIONS constants repeat identical instructions across multiple parameters (e.g., EXTRACT_EXPLICIT, NO_INFERENCE, DIRECT_QUERY). This verbosity wastes tokens and dilutes signal.