
TCG Price API MCP server
Which MCP servers are TCG Price API's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-27
- Registry namedev.tcgdata/tcgdataverified in the MCP registry
The registry name sits under tcgdata.dev. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-27
- Tools12
- Server calls itselftcg-data-hub
- Server version1.1.0
- Protocol version2025-06-18
On 2026-10-27 the server answered initialize and tools/list without a sign-in. First answer in 47 ms.
- Whether its tools do the product's job has not been judged yet.
Once connected
- Parameters are untyped or undescribed in 10 of 12 tools: check arguments before calling.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP score96 of 100answers 100 · definitions 86 · context 100 · connects 100
- Answered100% of days7 of 7 daily checks
- Median first answer796 ms
- Space in an agent's context≈ 2,562 tokensthe definitions of all its tools (12), which an agent carries on every turn
- Tool definitionsB · 86 of 100
- Typed results12 of 12 toolsdeclared outputSchema: results come typed, read once
- Parameters without a description: in 10 of 12
What an agent can do with it
- not sure · Reprice shop inventory in euros each morning
- not sure · Value a collection from dated price references
- not sure · Suggest fair asking prices for marketplace listings
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
None of the five warning signs in these definitions.
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
list_gamesList the six supported game identifiers and catalogue languages. Static API capabilities, no API request or account usage.
search_cardsFind variant candidates across six games, even without a current price. Returns stable tcg_ IDs, identifying fields, pricing availability and next_cursor. Use view=full to compare printed_number and finish_details. Preserve separate…
get_cardRead stored variant metadata and pricing availability without requiring a fresh quote. Includes game fields and image paths. Use get_card_image to return the artwork as an MCP image block. One admitted API call consumes one shared account…
get_pricesRead measured EUR prices for one exact variant, with observed_at and quote scope. Null is unknown, never zero. Product guides do not filter condition, language or edition. One admitted API call consumes one shared account request…
get_card_pricesCompatibility alias of get_prices. Read measured EUR prices for one exact variant, with observed_at and quote scope. Null is unknown, never zero. Product guides do not filter condition, language or edition. One admitted API call consumes…
get_price_historyRead daily EUR observations for an approved stored variant, independently of its current price. UTC window ends on to or today. Read coverage and preserve missing_dates; never interpolate. Use earlier to dates for older windows. One…
batch_pricesRead EUR prices for mixed-game tcg_ IDs in one request. Starter/Growth allow 100 supplied IDs, Scale 200, before deduplication. Preserve unavailable_ids separately from successful results. Never split or retry automatically. One admitted…
get_usageRead account request usage and limits, shared across keys and games. This call counts itself and cannot bypass exhausted limits. Check request metadata on existing results first. Published-plan upgrade suggestions link to the owner's…
get_card_imageReturn verified WebP artwork as an MCP image block, with request metadata. Use the ID and query fields from images.small/large; catv_ source variants require their parent catalogue_card_id. Optional face selects a Magic face. Never pass…
list_catalogue_setsSearch Japanese Pokémon source sets and paginate with the returned next_cursor. Returns catalogue set IDs to use with search_catalogue_cards. A set record is a catalogue membership, not proof of one physical printing. One admitted API…
search_catalogue_cardsSearch the price-independent Japanese Pokémon source catalogue, including cards with no price-variant match. cat_ identifies a source card; catv_ identifies a source variant. Use pricing.price_variants[].id (tcg_) for prices, never guess…
get_catalogue_cardRead one Japanese source card, variants, provenance and explicit pricing references. Only use returned tcg_ price-variant IDs for price tools. One admitted API call consumes one shared account request, including admitted errors. No…
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"tcgdata": {
"type": "http",
"url": "https://tcgdata.dev/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http tcgdata https://tcgdata.dev/mcpclaude.ai, ChatGPT and other clients: add https://tcgdata.dev/mcp as a custom connector in the settings.
OpenAPI spec
17 paths, read 2026-10-27. Open the spec ↗
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.