MCP 服务器

Pokemon TCG Pocket Catalog

app.hologallery.pocket/pokemon-tcg-pocket-catalog
游戏 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Searches and describes Pokémon TCG Pocket cards, sets, packs, and printings, and evaluates or simulates legal decks.

catalog_info
Catalog info
Catalog metadata: game version, schema version, card/printing/set/pack counts, and supported locales. Quote the game version alongside any simulation result so the evidence stays pinned to the data it was computed from.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
evaluate_deck
Evaluate deck
Check a 20-card Pokémon TCG Pocket deck against the game's rules (exactly 20 cards, at most 2 copies of a card, at least one Basic Pokémon) and return build advice: missing evolution lines, energy-type spread, Pokémon/Trainer balance, missing staple Trainers, and known card synergies. Takes gameplay card ids, not printing ids.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['gameplayCardId', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Copies in the deck.'}, 'gameplayCardId': {'type': 'string', 'description': "Gameplay card id, e.g. 'PK_000360'."}}}, 'maxItems': 20, 'minItems': 1, 'description': 'The deck list, one entry per distinct card.'}, 'locale': {'type': 'string', 'description': 'Locale for card names in messages.'}}}
get_card
Get card
Get one Pokémon TCG Pocket card's available catalog data: HP, attacks with energy costs and damage, abilities, weakness, retreat cost, evolution, artist, rarity, and artwork. Trainer cards return their rules text and subtype instead of attacks. Accepts either a printing id like 'A1-001' or a gameplay card id like 'PK_000010'.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Printing id ('A1-001') or gameplay card id ('PK_000010')."}, 'locale': {'type': 'string', 'description': "Locale for names and text. Defaults to 'en'."}}}
list_locales
List locales
List every locale code the catalog has translations for. Pass one as 'locale' to any other tool for localized card, set, and pack names.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_packs
List packs
List every Pokémon TCG Pocket booster pack with its id, parent set id, and localized name. Pack ids identify where a printing can be pulled.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'locale': {'type': 'string', 'description': "Locale for pack names. Defaults to 'en'."}}}
list_printings
List printings
List every printing of one card across all sets: printing id, set, collector number, rarity, artist, and canonical page URL. Accepts either a printing id like 'A1-001' or a gameplay card id like 'PK_000010'. get_card only returns the first printing; use this when the question is about reprints, alt arts, or pull sources.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Printing id ('A1-001') or gameplay card id ('PK_000010')."}, 'locale': {'type': 'string', 'description': "Locale for names. Defaults to 'en'."}}}
list_sets
List sets
List every Pokémon TCG Pocket set with its id and localized name. Use the ids to filter search_cards by set.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'locale': {'type': 'string', 'description': "Locale for set names. Defaults to 'en'."}}}
search_cards
Search cards
Search the Pokémon TCG Pocket card catalog by name, attack, ability, artist, or id, with optional filters for set, energy type, stage, card kind, rarity, Trainer subtype, HP range, weakness, and retreat cost. Returns up to 20 summarized cards plus the total number of matches.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'set': {'type': 'string', 'description': "Set id, e.g. 'A1', 'A2b', 'PROMO-A'."}, 'kind': {'enum': ['pokemon', 'trainer'], 'type': 'string'}, 'page': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': '1-based page number. Defaults to 1.'}, 'hpMax': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Maximum HP (Pokémon only).'}, 'hpMin': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Minimum HP (Pokémon only).'}, 'query': {'type': 'string', 'description': 'Free text: card name, attack or ability text, artist, or card id.'}, 'stage': {'enum': ['basic', 'stage-1', 'stage-2'], 'type': 'string'}, 'energy': {'enum': ['grass', 'fire', 'water', 'lightning', 'psychic', 'fighting', 'darkness', 'metal', 'dragon', 'colorless'], 'type': 'string', 'description': 'Energy type of the Pokémon.'}, 'locale': {'type': 'string', 'description': "Locale for card names, e.g. 'en', 'ja_JP', 'fr_FR'. Defaults to 'en'."}, 'rarity': {'type': 'string', 'description': "Rarity code, e.g. 'diamond-1', 'star-2', 'crown'."}, 'weakness': {'enum': ['grass', 'fire', 'water', 'lightning', 'psychic', 'fighting', 'darkness', 'metal', 'dragon', 'colorless'], 'type': 'string', 'description': 'Weakness energy type of the Pokémon.'}, 'retreatMax': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Maximum retreat cost (Pokémon only).'}, 'trainerType': {'enum': ['item', 'supporter', 'tool', 'fossil', 'stadium'], 'type': 'string', 'description': 'Trainer subtype: item, supporter, tool, fossil, or stadium.'}}}
simulate_matchup
Simulate matchup
Run two legal 20-card Pokémon TCG Pocket decks through the Battle Lab rules engine using deterministic heuristic AI. Returns wins, draws, failures, average turns/actions, and a short sample game log. This measures the built-in AI policy, not human skill or competitive win probability.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deckA', 'deckB'], 'properties': {'seed': {'type': 'integer', 'maximum': 2147483647, 'minimum': 0, 'description': 'Base random seed. Reusing the same inputs and seed reproduces the result.'}, 'deckA': {'type': 'object', 'required': ['cards', 'energyTypes'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'description': 'A short label used in the result.'}, 'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['gameplayCardId', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Copies in the deck.'}, 'gameplayCardId': {'type': 'string', 'description': "Gameplay card id, e.g. 'PK_000360'."}}}, 'maxItems': 20, 'minItems': 1, 'description': 'Exactly 20 total cards, with no more than two copies of one gameplay card.'}, 'energyTypes': {'type': 'array', 'items': {'enum': ['grass', 'fire', 'water', 'lightning', 'psychic', 'fighting', 'darkness', 'metal', 'dragon', 'colorless'], 'type': 'string'}, 'maxItems': 3, 'minItems': 1, 'description': 'Energy Zone types configured for this deck.'}}, 'description': 'First deck to compare.'}, 'deckB': {'type': 'object', 'required': ['cards', 'energyTypes'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'description': 'A short label used in the result.'}, 'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['gameplayCardId', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Copies in the deck.'}, 'gameplayCardId': {'type': 'string', 'description': "Gameplay card id, e.g. 'PK_000360'."}}}, 'maxItems': 20, 'minItems': 1, 'description': 'Exactly 20 total cards, with no more than two copies of one gameplay card.'}, 'energyTypes': {'type': 'array', 'items': {'enum': ['grass', 'fire', 'water', 'lightning', 'psychic', 'fighting', 'darkness', 'metal', 'dragon', 'colorless'], 'type': 'string'}, 'maxItems': 3, 'minItems': 1, 'description': 'Energy Zone types configured for this deck.'}}, 'description': 'Second deck to compare.'}, 'games': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Number of simulated games. Defaults to 20; maximum 50.'}, 'locale': {'type': 'string', 'description': "Locale for card names in the sample log. Defaults to 'en'."}}}
suggest_deck
Suggest deck
Build a complete, legal 20-card Pokémon TCG Pocket deck around a chosen card. Returns a named archetype, why it works, limitations, and the full card list with copy counts. Trainer targets produce a legal baseline with an explicit effect-data limitation. Give either a card name to search for or a gameplay card id.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'description': "Card name to build around, e.g. 'Charizard ex'."}, 'cardId': {'type': 'string', 'description': "Gameplay card id, e.g. 'PK_000960'."}, 'locale': {'type': 'string', 'description': "Locale for card names. Defaults to 'en'."}}}
trial_deck
Trial deck
Solo-trial one legal 20-card Pokémon TCG Pocket deck: opening-hand consistency (Basics per opener, Trainer density, how often each card shows up across sampled hands) plus mirror self-play with the deck on both seats (closing speed and first-player bias). Use this to tune a single deck; use simulate_matchup to compare two decks. Takes gameplay card ids, not printing ids.
只读
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deck'], 'properties': {'deck': {'type': 'object', 'required': ['cards', 'energyTypes'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'description': 'A short label used in the result.'}, 'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['gameplayCardId', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Copies in the deck.'}, 'gameplayCardId': {'type': 'string', 'description': "Gameplay card id, e.g. 'PK_000360'."}}}, 'maxItems': 20, 'minItems': 1, 'description': 'Exactly 20 total cards, with no more than two copies of one gameplay card.'}, 'energyTypes': {'type': 'array', 'items': {'enum': ['grass', 'fire', 'water', 'lightning', 'psychic', 'fighting', 'darkness', 'metal', 'dragon', 'colorless'], 'type': 'string'}, 'maxItems': 3, 'minItems': 1, 'description': 'Energy Zone types configured for this deck.'}}, 'description': 'The deck to trial.'}, 'seed': {'type': 'integer', 'maximum': 2147483647, 'minimum': 0, 'description': 'Base random seed. Reusing the same inputs and seed reproduces the result.'}, 'games': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Mirror self-play games. Defaults to 10; maximum 50.'}, 'hands': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Opening hands to sample. Defaults to 50; maximum 200.'}, 'locale': {'type': 'string', 'description': "Locale for card names. Defaults to 'en'."}}}
已添加
trial_deck
2026年9月17日 07:57
已添加
simulate_matchup
2026年9月17日 07:57
已添加
suggest_deck
2026年9月17日 07:57
已添加
evaluate_deck
2026年9月17日 07:57
已添加
list_printings
2026年9月17日 07:57
已添加
catalog_info
2026年9月17日 07:57
已添加
list_locales
2026年9月17日 07:57
已添加
list_packs
2026年9月17日 07:57
已添加
list_sets
2026年9月17日 07:57
已添加
get_card
2026年9月17日 07:57
已添加
search_cards
2026年9月17日 07:57