tcgmcp
Live TCG card and decklist prices for AI assistants. 22+ games, no account, ready-to-buy links.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"tcgmcp": {
"url": "https://mcp.tcgmcp.com/mcp"
}
}
}원격 엔드포인트
https://mcp.tcgmcp.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (4)
🟢price_deck(deck, game)
Prices a pasted decklist (any TCG: Magic, Pokemon, Yu-Gi-Oh, One Piece, Lorcana, and 18+ more) and returns a ready-to-buy TCGplayer cart link. Paste the raw decklist text — one card per line, quantity + name, e.g. '4x Lightning Bolt' or '2 Counterspell (7ED)'. Returns a priced table (qty, name, set, unit price, line total), a market-price estimate (full estimate, known-price subtotal, or unknown depending on price coverage), any lines that couldn't be resolved with did-you-mean suggestions, and one affiliate-wrapped buy link.
입력 스키마
{
"type": "object",
"properties": {
"deck": {
"description": "The raw decklist text, one card per line (e.g. \"4x Lightning Bolt\\n2 Counterspell (7ED)\").",
"type": "string"
},
"game": {
"description": "Optional game hint (e.g. 'Magic', 'Pokemon', 'Yu-Gi-Oh', 'One Piece', 'Lorcana') when the decklist is ambiguous.",
"type": "string"
}
},
"required": [
"deck"
]
}🟢price_card(game, name, set)
Looks up the current market price of a single TCG card (any of 22+ games: Magic, Pokemon, Yu-Gi-Oh, One Piece, Lorcana, and more). Returns the best match's price and an affiliate-wrapped TCGplayer product link, plus alternates when the name is ambiguous.
입력 스키마
{
"type": "object",
"properties": {
"game": {
"description": "Optional game hint (e.g. 'Magic', 'Pokemon') when the name is ambiguous across games.",
"type": "string"
},
"name": {
"description": "Card name to look up.",
"type": "string"
},
"set": {
"description": "Optional set name/code to disambiguate printings.",
"type": "string"
}
},
"required": [
"name"
]
}🟢list_printings(finish, game, intent, name, set, ...)
Lists every known printing of a TCG card (any of 22+ games) — every set it was printed in, with per-finish (nonfoil/foil) prices and treatment tags (border, frame, promo, full art). Use this instead of price_card when the buyer wants to compare printings, find the cheapest version, or find a specific treatment (e.g. borderless, showcase). Returns a `grouping` field: "oracle_id" means the printings are confirmed the exact same card; "normalized_name" is a best-effort name match that can occasionally over- or under-group.
입력 스키마
{
"type": "object",
"properties": {
"finish": {
"description": "Optional: narrow to printings available in a finish, e.g. 'foil' or 'etched'. Cannot be combined with intent=cheapest or with set/treatment.",
"type": "string"
},
"game": {
"description": "Optional game hint (e.g. 'Magic', 'Pokemon') when the name is ambiguous across games.",
"type": "string"
},
"intent": {
"description": "Optional: \"all\" (default) lists every printing; \"cheapest\" returns only the lowest-priced one. Cannot be combined with set/finish/treatment.",
"enum": [
"all",
"cheapest"
],
"type": "string"
},
"name": {
"description": "Card name to look up.",
"type": "string"
},
"set": {
"description": "Optional: narrow to a single set name/code. Cannot be combined with intent=cheapest or with finish/treatment.",
"type": "string"
},
"treatment": {
"description": "Optional: narrow to printings with a treatment/variant, e.g. 'borderless', 'showcase', 'full_art', 'boosterfun'. Cannot be combined with intent=cheapest or with set/finish.",
"type": "string"
}
},
"required": [
"name"
]
}🟢market_index(basis, scope, track, vs)
Shows the cross-market price trend for a whole game or a single set — a chain-linked index (base 100) with 7/30/90-day movement, the total market value of one-of-every product, the median price, and how many products are priced. Use this for "how is Pokemon / this set trending" questions, or pass a comma-separated `vs` list to compare up to 3 scopes. This is trend data across a set, NOT a single card's price — use price_card or list_printings for one card.
입력 스키마
{
"type": "object",
"properties": {
"basis": {
"description": "Optional price basis: 'market' (default) or 'low' (lowest listed price). Ignored — always 'market' — when comparing more than one scope via `vs`.",
"enum": [
"market",
"low"
],
"type": "string"
},
"scope": {
"description": "A game (e.g. 'pokemon', 'magic') or a specific set as 'game/set' (e.g. 'magic/fdn', 'pokemon/ssp').",
"type": "string"
},
"track": {
"description": "Optional product track: 'all' (default), 'singles', or 'sealed'.",
"enum": [
"all",
"singles",
"sealed"
],
"type": "string"
},
"vs": {
"description": "Optional: comma-separated extra scopes to compare against, e.g. 'pokemon,lorcana' or 'magic/fdn,magic/blb'. The primary scope plus compares are capped at 3 total.",
"type": "string"
}
},
"required": [
"scope"
]
}커뮤니티
증거