One Piece TCG MCP server — card search, deck analysis, and set browsing for the One Piece Card Game
The server has six well-named, read-only tools with complete input schemas and descriptions. Naming follows verb_noun conventions (search_cards, browse_sets, card_versions, etc.). All tools have descriptions between 60 - 120 chars, which is concise but adequate. All tools have documented input parameters with types and descriptions. However, output schemas are not visible in the provided code, the tools are registered but their return types are not documented. Error handling is present (errorReporting=true) but the actual error recovery guidance in tool implementations is not shown. The server uses a static JSON data source (one-piece-card-game-json), which keeps logic simple but limits dynamic data freshness. Overall, definition quality is solid for a read-only domain but falls short of A-grade due to missing output schema documentation.
Analyze the cost curve of a One Piece TCG deck list. Shows cost distribution, color breakdown, and card type spread.
Browse all One Piece TCG Leader cards. Filter by color to find leaders for a specific deck color.
Browse One Piece TCG sets. List all sets with card counts, or view cards in a specific set.
Show all printings/versions of a One Piece TCG card, including alternate art variants. Search by card name or card number.
Find One Piece TCG cards with counter values. Useful for building defensive deck strategies. Filter by color and cost.
Search One Piece TCG cards by name, color, type, cost, power, rarity, attribute, character type, or set. Returns card details with effects.
Output schemas are not documented. Tools register with input schemas but return types are inferred from code inspection, not formally declared. LLMs cannot plan downstream calls or extract fields without explicit output structure documentation.
No pagination metadata in responses. search_cards and find_counters accept limit/offset but do not document whether they return a 'total' count or 'has_more' flag. Without this, LLMs cannot reliably iterate through large result sets.
Parameter 'query' in search_cards is optional but a search with no filters returns all 2000+ cards. The description should note that at least one filter is recommended, or the tool should require at least one.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
analyze_cost_curve accepts deck_list as a string but the format description ('4 Monkey.D.Luffy' or '4x OP01-001') could be more precise. No validation errors are shown, malformed input may produce cryptic failures.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are not present. All tools are read-only and idempotent, declaring this in the schema helps LLMs reason about safety and retry behavior.