Categories › Knowledge & Everyday › Games, entertainment & hobbies
Magic: The Gathering card search, rules, rulings, deck analysis, brackets, and combo detection.
Remote server: your requests and data go to mtgbench.com. Claude Code: claude mcp add --transport http mtg-bench https://mtgbench.com/mcp · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
check_deck_legality — Validate a decklist against a constructed format's rules (banned cards, deck size, copy limits, and in Commander the color-identity rule). Ucommander_staples — The cards most commonly played with a given commander, from EDHREC's aggregate inclusion data: 691,958 commander-card pairings across 2,631 deck_stats — Deterministic statistical analysis of a decklist (any format): mana curve with creature split, card types, color pips vs mana sources, functfind_combos — Detect known combos in a decklist using Commander Spellbook's curated database — combos fully present, plus near-misses one card away (with find_synergies — Given one or more cards the user ALREADY has, find cards that work with them. Seeded by example rather than by description: pass the cards, get_card — Fetch full detail for ONE card by exact name or id: oracle text, mana cost, type line, format legalities, and a brief summary of its printinget_card_image — Fetch a card's image. The returned image content block IS the display — the client renders it directly; do not build custom HTML/widgets aroget_card_printings — List EVERY printing of a card (set, rarity, artist, finish, collector number). get_card already returns a short printings summary, so reach get_card_rulings — Fetch the OFFICIAL Wizards rulings for one card, with their dates. These are Wizards' own answers to the corner cases players argue about. Uget_rule — Fetch a Comprehensive Rules entry and its lettered subrules by exact number (e.g. "601.2" returns 601.2 and 601.2a-i). Use after search_rulemy_collection — Summarize the user's imported collection: how many distinct cards, total copies, and where it was imported from. This is the SUMMARY only. Urate_deck — Assess a Commander deck's official WotC bracket (1-5). Returns deterministic signals (Game Changers from WotC's curated list, mass land deniresolve_card_names — Check whether card names are REAL, in bulk. Returns exact / not_found per name, with the canonical spelling and id for the ones that exist. search_cards — Find cards by NAME or by structured filters (colors, color identity, types, mana value, format legality, sets). Use when the query can be exsearch_my_collection — Search only the cards the user OWNS, by name, colors, or type. Set notInDecks to surface owned cards not currently used in any of their decksearch_rules — Semantic search over the Magic Comprehensive Rules, glossary, and 84k card-specific rulings. Use for any rules/interaction question; answer semantic_card_search — Vector search over card TEXT, for describing an effect that cannot be written as a filter: "cards that make a token when I attack", "punish upgrade_deck — Suggest priced deck upgrades: cards to add (within an optional budget) and cards to cut. TWO-PHASE: first call WITHOUT `strategy` to get a dwhat_can_i_build — Given the user's imported card collection, rank the Commander decks they can most nearly build right now, with the most-played cards they arNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.