Hosted MCP server · #86 most used on Smithery

MTG MCP Server

j4th/mtg-mcp-server

Magic: The Gathering card search, combo lookup, draft analytics, and Commander tools.

Uses
6.1k
Tools
69
Runs
Hosted
Prompts
19
Listed
8mo ago

Get started

Add it to your agent

npx -y @smithery/cli@latest install j4th/mtg-mcp-server --client claude

Swap --client claude for cursor, vscode, windsurf or another client. The CLI asks for any required settings.

What it can do

69 tools

pingHealth check — returns 'pong'.
scryfall_search_cards4 paramsSearch for Magic cards using Scryfall syntax. Examples: "f:commander id:sultai t:creature", "o:destroy t:instant cmc<=3" See https://scry…

Search for Magic cards using Scryfall syntax. Examples: "f:commander id:sultai t:creature", "o:destroy t:instant cmc<=3" See https://scryfall.com/docs/syntax for full syntax reference.

ParameterTypeDescription
pageintegerPage number for paginated results, 1-indexed
limitintegerMax cards to return (default 30, 0 for all)
querystringScryfall search query (e.g. 'f:commander id:sultai t:creature cmc<=3'). See scryfall.com/docs/syntax
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
scryfall_card_details3 paramsGet full details for a Magic card by exact or fuzzy name.
ParameterTypeDescription
namestringCard name — exact match by default (e.g. 'Muldrotha, the Gravetide')
fuzzybooleanUse fuzzy matching for approximate names (e.g. 'muldrotha' finds 'Muldrotha, the Gravetide')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
scryfall_card_price1 paramGet current prices for a Magic card. Prices update once per day.
ParameterTypeDescription
namestringCard name for price lookup (exact match)
scryfall_card_rulings1 paramGet official rulings and clarifications for a Magic card.
ParameterTypeDescription
namestringCard name to get official rulings for (exact match)
scryfall_set_info1 paramGet metadata for a Magic set by its code.
ParameterTypeDescription
set_codestringSet code (e.g. 'dom', 'mh2', 'lci')
scryfall_whats_new5 paramsFind recently printed or released Magic cards. Searches Scryfall for cards released within the given number of days. Optionally filter by…

Find recently printed or released Magic cards. Searches Scryfall for cards released within the given number of days. Optionally filter by set or format legality.

ParameterTypeDescription
daysintegerLook back this many days for recent cards (minimum 1)
limitintegerMax cards to return (default 30, 0 for all)
formatFilter to cards legal in a format (e.g. 'standard', 'commander', 'modern')
set_codeFilter to a specific set code (e.g. 'mh3', 'lci')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
spellbook_find_combos3 paramsSearch for known combos involving a specific card. Optionally filter by color identity (e.g. "sultai", "BUG", "wubrg"). Returns up to `li…

Search for known combos involving a specific card. Optionally filter by color identity (e.g. "sultai", "BUG", "wubrg"). Returns up to `limit` combos with cards involved and results produced.

ParameterTypeDescription
limitintegerMaximum number of combos to return
card_namestringCard name to search for combos (e.g. 'Muldrotha, the Gravetide')
color_identityFilter by color identity — name ('sultai'), letters ('BUG'), or 'wubrg'
spellbook_combo_details1 paramGet detailed steps for a specific combo by its Spellbook ID. Use an ID from find_combos results (e.g. "1414-2730-5131-5256").
ParameterTypeDescription
combo_idstringSpellbook combo ID from find_combos results (e.g. '1414-2730-5131-5256')
spellbook_find_decklist_combos2 paramsFind combos present in (or nearly present in) a Commander decklist. Provide commander name(s) and a list of card names in the main deck. …

Find combos present in (or nearly present in) a Commander decklist. Provide commander name(s) and a list of card names in the main deck. Returns combos that are fully included and those that are almost included.

ParameterTypeDescription
decklistarrayList of card names in the main deck
commandersarrayCommander card name(s) (e.g. ['Muldrotha, the Gravetide'])
spellbook_estimate_bracket2 paramsEstimate the Commander bracket (power level) for a decklist. Provide commander name(s) and a list of card names in the main deck. Returns…

Estimate the Commander bracket (power level) for a decklist. Provide commander name(s) and a list of card names in the main deck. Returns bracket tag and any bracket-relevant findings.

ParameterTypeDescription
decklistarrayList of card names in the main deck
commandersarrayCommander card name(s) (e.g. ['Muldrotha, the Gravetide'])
draft_card_ratings5 paramsGet win rate and draft performance data for cards in a set. Key metrics: GIH WR (ever_drawn_win_rate), ALSA (avg_seen), OH WR (opening_ha…

Get win rate and draft performance data for cards in a set. Key metrics: GIH WR (ever_drawn_win_rate), ALSA (avg_seen), OH WR (opening_hand_win_rate), IWD (drawn_improvement_win_rate). Note: 17Lands data skews toward above-average players (~56% baseline WR). Cards with <500 games may not have reliable data.

ParameterTypeDescription
limitintegerMax cards to return (default 50, 0 for all)
sort_bystringSort order: 'gih_wr' (default), 'alsa', 'iwd', 'name'
set_codestringThree-letter set code (e.g. 'LCI', 'MKM', 'OTJ', 'BLB')
event_typestringDraft format — 'PremierDraft' (default) or 'TradDraft'
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
draft_archetype_stats4 paramsGet win rates by color pair/archetype for a draft set. Note: start_date and end_date are required by the 17Lands API. Args: set_code: Thr…

Get win rates by color pair/archetype for a draft set. Note: start_date and end_date are required by the 17Lands API. Args: set_code: Three-letter set code (e.g. "LCI", "MKM", "OTJ"). start_date: Start date in YYYY-MM-DD format. end_date: End date in YYYY-MM-DD format. event_type: Draft format — "PremierDraft" (default) or "TradDraft".

ParameterTypeDescription
end_datestringEnd date in YYYY-MM-DD format (required by 17Lands API)
set_codestringThree-letter set code (e.g. 'LCI', 'MKM', 'OTJ', 'BLB')
event_typestringDraft format — 'PremierDraft' (default) or 'TradDraft'
start_datestringStart date in YYYY-MM-DD format (required by 17Lands API)
edhrec_commander_staples4 paramsGet the most-played cards for a commander with synergy scores and inclusion rates. Shows which cards are most commonly played with this c…

Get the most-played cards for a commander with synergy scores and inclusion rates. Shows which cards are most commonly played with this commander and how synergistic they are (vs. generic popularity).

ParameterTypeDescription
limitintegerMax cards per category (default 10, 0 for all)
categoryFilter by card type: 'creatures', 'enchantments', 'artifacts', 'instants', 'sorceries', 'lands', 'planeswalkers'
commander_namestringFull commander name (e.g. 'Muldrotha, the Gravetide')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
edhrec_card_synergy2 paramsGet synergy data for a specific card with a specific commander. Shows how synergistic the card is with the commander compared to its gene…

Get synergy data for a specific card with a specific commander. Shows how synergistic the card is with the commander compared to its general popularity, plus how many decks include it. Args: card_name: The card to check (e.g. "Spore Frog"). commander_name: The commander to check against (e.g. "Muldrotha, the Gravetide").

ParameterTypeDescription
card_namestringCard to check synergy for (e.g. 'Spore Frog')
commander_namestringCommander to check synergy against (e.g. 'Muldrotha, the Gravetide')
moxfield_decklist1 paramFetch a full decklist from Moxfield by deck ID or URL. Returns the complete decklist organized by board (commanders, mainboard, sideboard…

Fetch a full decklist from Moxfield by deck ID or URL. Returns the complete decklist organized by board (commanders, mainboard, sideboard, companions) with card names and quantities.

ParameterTypeDescription
deck_idstringMoxfield deck ID or full URL (e.g. 'abc123' or 'https://www.moxfield.com/decks/abc123')
moxfield_deck_info1 paramGet metadata for a Moxfield deck (name, format, author, dates). Returns deck metadata without the full card list. Use ``decklist`` for th…

Get metadata for a Moxfield deck (name, format, author, dates). Returns deck metadata without the full card list. Use ``decklist`` for the complete card list.

ParameterTypeDescription
deck_idstringMoxfield deck ID or full URL (e.g. 'abc123' or 'https://www.moxfield.com/decks/abc123')
moxfield_search_decks5 paramsSearch public Moxfield decks by format, keyword, or sort order. Returns a paginated list of deck summaries with name, format, author, col…

Search public Moxfield decks by format, keyword, or sort order. Returns a paginated list of deck summaries with name, format, author, colors, and card counts.

ParameterTypeDescription
pageintegerPage number (1-indexed)
sortstringSort order: 'Updated', 'Created', or 'Views'
queryOptional search text to filter decks by name or description
formatFormat filter (e.g. 'pauper', 'commander', 'modern'). Leave empty for all formats.
page_sizeintegerResults per page (max 100)
moxfield_user_decks2 paramsList a user's public decks on Moxfield. Verifies the user exists, then searches for their public decks. Optionally filter by format.
ParameterTypeDescription
formatOptional format filter (e.g. 'commander', 'modern')
usernamestringMoxfield username to look up
bulk_card_lookup2 paramsLook up a Magic card by exact name using Scryfall bulk data. Returns full card details including mana cost, type, oracle text, colors, po…

Look up a Magic card by exact name using Scryfall bulk data. Returns full card details including mana cost, type, oracle text, colors, power/toughness, prices, legalities, and EDHREC rank. Case-insensitive.

ParameterTypeDescription
namestringCard name for exact lookup, case-insensitive (e.g. 'Sol Ring')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
bulk_card_search4 paramsSearch for Magic cards in Scryfall bulk data. Args: query: Substring to search for (case-insensitive). search_field: Field to search in -…

Search for Magic cards in Scryfall bulk data. Args: query: Substring to search for (case-insensitive). search_field: Field to search in -- "name", "type", or "text". limit: Maximum number of results to return (default 20).

ParameterTypeDescription
limitintegerMaximum number of results to return
querystringSubstring to search for, case-insensitive
search_fieldstringField to search in -- 'name' (card name), 'type' (type line), or 'text' (oracle text)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
bulk_format_legality2 paramsBatch legality check for cards in a specific format. Returns a markdown table showing the legality status of each card in the specified f…

Batch legality check for cards in a specific format. Returns a markdown table showing the legality status of each card in the specified format. Handles common format aliases (e.g. 'edh' for 'commander').

ParameterTypeDescription
cardsarrayList of card names to check legality for
formatstringFormat to check (e.g. 'commander', 'modern', 'standard', 'legacy')
bulk_format_search7 paramsSearch for legal cards in a specific format using natural language. Combines format legality filtering with name/type/text search and opt…

Search for legal cards in a specific format using natural language. Combines format legality filtering with name/type/text search and optional color identity, price, and rarity constraints. Results are sorted by EDHREC rank (most popular first).

ParameterTypeDescription
limitintegerMaximum results to return
querystringSearch query -- card name, type, or oracle text substring (e.g. 'flying creatures', 'destroy target')
formatstringFormat to search in (e.g. 'commander', 'modern', 'standard')
rarityRarity filter (e.g. 'common', 'uncommon', 'rare', 'mythic')
max_priceMaximum USD price filter
color_identityColor identity filter (e.g. 'sultai', 'WU', 'red'). Only returns cards within this identity.
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
bulk_format_staples6 paramsFind the most popular (staple) cards legal in a format. Ranking adapts to the format: singleton formats (Commander, Brawl, Oathbreaker) u…

Find the most popular (staple) cards legal in a format. Ranking adapts to the format: singleton formats (Commander, Brawl, Oathbreaker) use EDHREC rank; competitive formats use MTGGoldfish tournament frequency when available, falling back to a mana-efficiency heuristic.

ParameterTypeDescription
colorColor identity filter (e.g. 'sultai', 'WU', 'red'). Only returns cards within this identity.
limitintegerMaximum results to return
formatstringFormat to find staples for (e.g. 'commander', 'modern', 'legacy')
card_typeCard type filter (e.g. 'creature', 'instant', 'land')
ranking_modestringHow to rank staples: 'auto' (default) picks the best mode for the format, 'edhrec' uses Commander popularity, 'competitive' uses a mana-efficiency heuristic, 'tournament' uses MTGGoldfish metagame fre
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
bulk_similar_cards5 paramsFind cards similar to a given card. Scores similarity based on shared keywords, type words, CMC proximity, and oracle text overlap. Optio…

Find cards similar to a given card. Scores similarity based on shared keywords, type words, CMC proximity, and oracle text overlap. Optionally filter by format legality and price.

ParameterTypeDescription
limitintegerMaximum results to return
formatFormat filter (e.g. 'commander', 'modern'). Only returns legal cards.
card_namestringName of the card to find similar cards for
max_priceMaximum USD price filter
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
bulk_random_card4 paramsGet a random Magic card, optionally filtered by format, color, type, and rarity. Returns full card details in the same format as card_loo…

Get a random Magic card, optionally filtered by format, color, type, and rarity. Returns full card details in the same format as card_lookup.

ParameterTypeDescription
formatFormat filter (e.g. 'commander', 'modern'). Only returns legal cards.
rarityRarity filter (e.g. 'common', 'uncommon', 'rare', 'mythic')
card_typeCard type filter (e.g. 'creature', 'instant', 'land')
color_identityColor identity filter (e.g. 'sultai', 'WU', 'red'). Only returns cards within this identity.
bulk_ban_list1 paramGet the banned and restricted cards for a format. Returns alphabetically sorted lists of banned and restricted cards, including their typ…

Get the banned and restricted cards for a format. Returns alphabetically sorted lists of banned and restricted cards, including their type lines.

ParameterTypeDescription
formatstringFormat to check ban list for (e.g. 'commander', 'modern', 'standard')
bulk_card_in_formats1 paramShow a card's legality across all Magic formats. Returns a table with the card's legality status in each format, ordered with the most co…

Show a card's legality across all Magic formats. Returns a table with the card's legality status in each format, ordered with the most common formats first.

ParameterTypeDescription
card_namestringCard name to check format legality for
spicerack_recent_tournaments4 paramsList recent tournaments for a format with dates, player counts, and IDs. Use the tournament ID from the results with ``tournament_results…

List recent tournaments for a format with dates, player counts, and IDs. Use the tournament ID from the results with ``tournament_results`` to see full standings and decklists.

ParameterTypeDescription
limitintegerMaximum number of tournaments to return (default 10)
formatstringMTG format name (e.g. 'Modern', 'Legacy', 'Pauper')
num_daysintegerNumber of days to look back (default 14)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
spicerack_tournament_results5 paramsGet full standings and decklists for a specific tournament. Look up a tournament by its Spicerack ID. Use ``recent_tournaments`` first to…

Get full standings and decklists for a specific tournament. Look up a tournament by its Spicerack ID. Use ``recent_tournaments`` first to find tournament IDs.

ParameterTypeDescription
top_nintegerNumber of top standings to show (default 8)
formatFormat to search within (optional, helps narrow results)
num_daysintegerNumber of days to look back (default 30)
tournament_idstringSpicerack tournament ID (e.g. '3135276')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
spicerack_format_decklists4 paramsFind top-performing decklists across recent tournaments for a format. Collects top-4 finishers with Moxfield decklists from recent events…

Find top-performing decklists across recent tournaments for a format. Collects top-4 finishers with Moxfield decklists from recent events. Use ``moxfield_decklist`` to fetch the full card list for a deck.

ParameterTypeDescription
limitintegerMaximum number of decklists to return (default 10)
formatstringMTG format name (e.g. 'Modern', 'Legacy', 'Pauper')
num_daysintegerNumber of days to look back (default 14)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
goldfish_metagame2 paramsGet the current metagame breakdown for a competitive format. Shows top archetypes with meta share percentages, deck counts, and estimated…

Get the current metagame breakdown for a competitive format. Shows top archetypes with meta share percentages, deck counts, and estimated paper prices.

ParameterTypeDescription
formatstringMTG format name (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
goldfish_archetype_list3 paramsGet a sample decklist for an archetype in a format. Returns deck metadata (author, event, result, date) and the full mainboard and sidebo…

Get a sample decklist for an archetype in a format. Returns deck metadata (author, event, result, date) and the full mainboard and sideboard card list.

ParameterTypeDescription
formatstringMTG format name (e.g. 'Modern', 'Legacy', 'Pioneer')
archetypestringArchetype name (e.g. 'Boros Energy', 'Azorius Control')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
goldfish_format_staples3 paramsGet the most-played cards in a format with deck inclusion percentages. Shows which cards appear most frequently across all archetypes in …

Get the most-played cards in a format with deck inclusion percentages. Shows which cards appear most frequently across all archetypes in the format, with average copies played per deck.

ParameterTypeDescription
limitintegerMaximum number of staples to return (default 20)
formatstringMTG format name (e.g. 'Modern', 'Legacy', 'Pioneer')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
goldfish_deck_price3 paramsGet the estimated paper price for an archetype deck. Returns the total estimated cost of the deck based on current card prices from MTGGo…

Get the estimated paper price for an archetype deck. Returns the total estimated cost of the deck based on current card prices from MTGGoldfish.

ParameterTypeDescription
formatstringMTG format name (e.g. 'Modern', 'Legacy', 'Pioneer')
archetypestringArchetype name (e.g. 'Boros Energy', 'Azorius Control')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
commander_overview2 paramsComprehensive commander profile combining data from all available sources. Returns card details, top combos, EDHREC staples, and synergy …

Comprehensive commander profile combining data from all available sources. Returns card details, top combos, EDHREC staples, and synergy scores. Degrades gracefully if optional sources (EDHREC, Spellbook) are unavailable.

ParameterTypeDescription
commander_namestringCommander card name (e.g. 'Muldrotha, the Gravetide')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
evaluate_upgrade3 paramsAssess whether a card is worth adding to a specific commander deck. Returns card details, price, synergy score, and combos enabled for th…

Assess whether a card is worth adding to a specific commander deck. Returns card details, price, synergy score, and combos enabled for the caller to assess. Degrades gracefully if optional sources (EDHREC, Spellbook) are unavailable.

ParameterTypeDescription
card_namestringCard to evaluate for the deck (e.g. 'Spore Frog')
commander_namestringCommander the deck is built around
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
draft_pack_pick4 paramsRank cards in a draft pack using 17Lands win rate data. Provides GIH WR, ALSA, IWD stats, and color fit analysis based on current picks. …

Rank cards in a draft pack using 17Lands win rate data. Provides GIH WR, ALSA, IWD stats, and color fit analysis based on current picks. Requires 17Lands to be enabled.

ParameterTypeDescription
packarrayList of card names currently in the draft pack
set_codestringThree-letter set code for the draft format (e.g. 'LCI', 'MKM')
current_picksCards already drafted — enables color fit analysis when provided
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
suggest_cuts4 paramsIdentify the weakest cards to cut from a commander decklist. Scores cards by synergy, inclusion rate, and combo membership. Degrades grac…

Identify the weakest cards to cut from a commander decklist. Scores cards by synergy, inclusion rate, and combo membership. Degrades gracefully if EDHREC or Spellbook backends fail (uses whatever data is available).

ParameterTypeDescription
decklistarrayList of card names in the deck
num_cutsintegerNumber of cut candidates to suggest
commander_namestringCommander the deck is built around
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
card_comparison3 paramsCompare 2-5 cards side-by-side for a specific commander deck. Shows mana cost, type, synergy, inclusion rate, combo count, and price for …

Compare 2-5 cards side-by-side for a specific commander deck. Shows mana cost, type, synergy, inclusion rate, combo count, and price for each card. Scryfall and Spellbook required; EDHREC optional.

ParameterTypeDescription
cardsarray2-5 card names to compare side-by-side
commander_namestringCommander the deck is built around
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
budget_upgrade4 paramsSuggest budget-friendly upgrades for a commander deck. Ranks EDHREC staples by synergy-per-dollar within the given budget ceiling. Requir…

Suggest budget-friendly upgrades for a commander deck. Ranks EDHREC staples by synergy-per-dollar within the given budget ceiling. Requires EDHREC (for staples) and Scryfall (for prices).

ParameterTypeDescription
budgetnumberMaximum price per card in USD (e.g. 5.0 for cards under $5)
commander_namestringCommander the deck is built around
num_suggestionsintegerNumber of upgrade suggestions to return
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
deck_analysis3 paramsFull decklist health check — mana curve, colors, combos, bracket, budget, synergy. Uses all available backends: Scryfall bulk data for ra…

Full decklist health check — mana curve, colors, combos, bracket, budget, synergy. Uses all available backends: Scryfall bulk data for rate-limit-free card resolution, Scryfall API as fallback, Spellbook for combos and bracket estimation, EDHREC for synergy scores. Degrades gracefully if optional backends are unavailable.

ParameterTypeDescription
decklistarrayList of card names in the deck (99 cards for Commander)
commander_namestringCommander the deck is built around
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
set_overview3 paramsDraft format overview — top commons/uncommons and trap rares. Uses 17Lands card ratings to provide a data-driven format breakdown. Requir…

Draft format overview — top commons/uncommons and trap rares. Uses 17Lands card ratings to provide a data-driven format breakdown. Requires 17Lands to be enabled.

ParameterTypeDescription
set_codestringThree-letter set code for the draft format (e.g. 'LCI', 'MKM')
event_typestringDraft format — 'PremierDraft' (default) or 'TradDraft'
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
theme_search6 paramsFind cards matching a theme — mechanical, tribal, or abstract/flavorful. Maps themes to oracle text patterns and searches bulk data. Grou…

Find cards matching a theme — mechanical, tribal, or abstract/flavorful. Maps themes to oracle text patterns and searches bulk data. Groups results by relevance tier (strong match, moderate match, flavor match).

ParameterTypeDescription
limitintegerMaximum number of results
themestringTheme to search for — mechanical (aristocrats, voltron, tokens), tribal (goblin, merfolk), or abstract (music, death, ocean)
formatFormat legality filter (e.g. 'standard', 'modern', 'commander')
max_priceMaximum card price in USD
color_identityColor identity filter (e.g. 'sultai', 'BUG', 'WR')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
build_around5 paramsFind synergistic cards for 1-5 build-around cards in any format. Analyzes oracle text for key mechanics, searches for synergies, and chec…

Find synergistic cards for 1-5 build-around cards in any format. Analyzes oracle text for key mechanics, searches for synergies, and checks combo potential. Groups results by role (enablers, payoffs, support).

ParameterTypeDescription
cardsarray1-5 card names to build around
limitintegerMaximum number of suggestions
budgetMaximum price per card in USD
formatstringFormat to build for (e.g. 'standard', 'modern', 'commander')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
complete_deck5 paramsIdentify gaps in a partial decklist and suggest cards to fill them. Analyzes mana curve, card roles, and format-specific ratios, then sug…

Identify gaps in a partial decklist and suggest cards to fill them. Analyzes mana curve, card roles, and format-specific ratios, then suggests cards for underrepresented categories.

ParameterTypeDescription
budgetMaximum price per suggested card in USD
formatstringFormat to build for (e.g. 'standard', 'modern', 'commander')
decklistarrayPartial decklist — card names already chosen
commanderCommander name (required for Commander format)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
commander_comparison2 paramsCompare 2-5 commanders head-to-head: stats, combos, staples, popularity. Side-by-side comparison table with mana cost, color identity, ED…

Compare 2-5 commanders head-to-head: stats, combos, staples, popularity. Side-by-side comparison table with mana cost, color identity, EDHREC rank, combo count, and shared/unique staples.

ParameterTypeDescription
commandersarray2-5 commander names to compare head-to-head
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
tribal_staples5 paramsBest cards for a creature type — lords, synergy pieces, and top members. Groups results by: lords/anthems, tribal synergy, best members, …

Best cards for a creature type — lords, synergy pieces, and top members. Groups results by: lords/anthems, tribal synergy, best members, tribal support.

ParameterTypeDescription
limitintegerMaximum number of results
tribestringCreature type (e.g. 'Goblin', 'Merfolk', 'Samurai')
formatFormat legality filter (e.g. 'commander', 'modern')
color_identityColor identity filter (e.g. 'sultai', 'WR')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
precon_upgrade5 paramsAnalyze and upgrade a Commander precon — identify weakest cards, suggest replacements. Pairs each upgrade with a specific cut, explaining…

Analyze and upgrade a Commander precon — identify weakest cards, suggest replacements. Pairs each upgrade with a specific cut, explaining the synergy improvement.

ParameterTypeDescription
budgetnumberMaximum price per upgrade card in USD
decklistarrayFull precon decklist — card names
commanderstringCommander card name
num_upgradesintegerNumber of upgrade suggestions
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
color_identity_staples4 paramsTop cards across ALL commanders in a color identity. Uses EDHREC aggregated data when available, falls back to EDHREC rank from bulk data.
ParameterTypeDescription
limitintegerMaximum number of results
categoryCard category filter (e.g. 'creatures', 'instants', 'lands')
color_identitystringColor identity (e.g. 'sultai', 'BUG', 'WR', 'mono-red')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
sealed_pool_build3 paramsBuild 1-3 decks from a sealed pool using card quality and color pair analysis. Evaluates each 2-color pair, selects best cards, and sugge…

Build 1-3 decks from a sealed pool using card quality and color pair analysis. Evaluates each 2-color pair, selects best cards, and suggests land splits. Uses 17Lands data when available for card quality scoring.

ParameterTypeDescription
poolarrayCard names in the sealed pool (typically 84-90)
set_codestringThree-letter set code (e.g. 'LCI', 'MKM')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
draft_signal_read4 paramsAnalyze draft picks and recommend a direction based on color signals. Uses ALSA data to detect which colors are open (cards seen later th…

Analyze draft picks and recommend a direction based on color signals. Uses ALSA data to detect which colors are open (cards seen later than expected = open).

ParameterTypeDescription
picksarrayCards already drafted, in pick order
set_codestringThree-letter set code (e.g. 'LCI', 'MKM')
current_packCurrent pack contents — if provided, cards are ranked with signal context
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
draft_log_review4 paramsReview a completed draft — pick-by-pick GIH WR analysis and key decision points. Identifies where you could have taken a higher-WR card, …

Review a completed draft — pick-by-pick GIH WR analysis and key decision points. Identifies where you could have taken a higher-WR card, pivot points, and overall draft grade.

ParameterTypeDescription
picksarrayCards drafted in order (pack 1 pick 1 through pack 3 pick 14)
set_codestringThree-letter set code (e.g. 'LCI', 'MKM')
final_deckFinal deck submitted — enables 'made the deck' analysis
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
rotation_check2 paramsCheck Standard rotation status and identify which cards are rotating. Shows sets currently in Standard with rotation dates. If cards prov…

Check Standard rotation status and identify which cards are rotating. Shows sets currently in Standard with rotation dates. If cards provided, identifies which are in rotating sets and suggests replacements.

ParameterTypeDescription
cardsCard names to check for rotation — omit for general rotation info
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
metagame_snapshot2 paramsGet the current metagame breakdown for a competitive format. Shows top archetypes with meta share %, tier classification, and prices. Use…

Get the current metagame breakdown for a competitive format. Shows top archetypes with meta share %, tier classification, and prices. Uses MTGGoldfish as primary source with Spicerack tournament data as fallback.

ParameterTypeDescription
formatstringCompetitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
archetype_decklist3 paramsGet the stock decklist for a competitive archetype. Returns a full decklist (mainboard + sideboard) with deck metadata and total price wh…

Get the stock decklist for a competitive archetype. Returns a full decklist (mainboard + sideboard) with deck metadata and total price when available. Archetype name is fuzzy-matched.

ParameterTypeDescription
formatstringCompetitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
archetypestringArchetype name (e.g. 'Boros Energy', 'Mono-Blue Terror') — fuzzy matched
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
archetype_comparison3 paramsCompare 2-4 competitive archetypes side-by-side. Shows price, colors, key cards, shared staples, and differences.
ParameterTypeDescription
formatstringCompetitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
archetypesarray2-4 archetype names to compare (fuzzy matched)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
format_entry_guide3 paramsGet a beginner-oriented guide for entering a competitive format. Shows archetypes sorted by budget accessibility, cross-archetype staples…

Get a beginner-oriented guide for entering a competitive format. Shows archetypes sorted by budget accessibility, cross-archetype staples (buy once, play everywhere), and format rules summary.

ParameterTypeDescription
budgetMax budget in USD — filters archetypes to this price ceiling
formatstringCompetitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
suggest_sideboard4 paramsSuggest a 15-card sideboard for a competitive deck. Analyzes the main deck's weaknesses and recommends sideboard cards with per-card reas…

Suggest a 15-card sideboard for a competitive deck. Analyzes the main deck's weaknesses and recommends sideboard cards with per-card reasoning. Works with heuristic analysis alone; enhanced with MTGGoldfish frequency data when available.

ParameterTypeDescription
formatstringCompetitive format (e.g. 'Modern', 'Pauper')
decklistarrayMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
meta_contextOptional context about local metagame (e.g. 'heavy on Mono-Red and Affinity')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
sideboard_guide5 paramsGet a specific sideboard in/out plan for a named matchup. Given a full 75 and a matchup archetype, produces specific boarding instruction…

Get a specific sideboard in/out plan for a named matchup. Given a full 75 and a matchup archetype, produces specific boarding instructions with reasoning.

ParameterTypeDescription
formatstringCompetitive format (e.g. 'Modern', 'Pauper')
matchupstringMatchup archetype name (e.g. 'Mono-Red Aggro') — fuzzy matched
decklistarrayMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
sideboardarraySideboard card names (e.g. ['2 Hydroblast', '3 Tormod\'s Crypt'])
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
sideboard_matrix5 paramsGenerate a sideboard matrix for a deck across common matchups. Matrix shows which sideboard cards come IN/OUT/FLEX for each matchup. Auto…

Generate a sideboard matrix for a deck across common matchups. Matrix shows which sideboard cards come IN/OUT/FLEX for each matchup. Auto-detects top matchups from metagame data or uses provided matchup list.

ParameterTypeDescription
formatstringCompetitive format (e.g. 'Modern', 'Pauper')
decklistarrayMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
matchupsMatchup names to include — omit to auto-detect from metagame data
sideboardarraySideboard card names (e.g. ['2 Hydroblast', '3 Tormod\'s Crypt'])
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
deck_validate5 paramsValidate a decklist against a format's construction rules. Checks legality, deck size, copy limits, color identity (Commander), singleton…

Validate a decklist against a format's construction rules. Checks legality, deck size, copy limits, color identity (Commander), singleton rules, and Pauper rarity. Returns VALID or INVALID with actionable error messages.

ParameterTypeDescription
formatstringFormat to validate against (e.g. 'commander', 'modern', 'standard', 'legacy')
decklistarrayCard names, optionally prefixed with quantity (e.g. '4x Lightning Bolt' or 'Lightning Bolt')
commanderCommander card name (required for Commander format)
sideboardSideboard card names, same format as decklist
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
suggest_mana_base4 paramsSuggest a mana base for a decklist based on color pip distribution. Analyzes color requirements, recommends land count, and suggests form…

Suggest a mana base for a decklist based on color pip distribution. Analyzes color requirements, recommends land count, and suggests format-legal dual lands. Handles hybrid and phyrexian mana.

ParameterTypeDescription
formatstringFormat for land legality checking (e.g. 'commander', 'modern')
decklistarrayNon-land card names in the deck
total_landsOverride total land count (default: auto-calculated from avg CMC)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
price_comparison2 paramsCompare prices across multiple cards using Scryfall bulk data. Returns a markdown table with USD, USD foil, and EUR prices sorted by USD …

Compare prices across multiple cards using Scryfall bulk data. Returns a markdown table with USD, USD foil, and EUR prices sorted by USD descending.

ParameterTypeDescription
cardsarray2-20 card names to compare prices
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
rules_lookup3 paramsLook up MTG Comprehensive Rules by number or keyword search. Returns matching rules with full text, parent context, and subrules.
ParameterTypeDescription
querystringRule number (e.g. '704.5k') or keyword to search for
sectionNarrow search to a section (e.g. 'combat', 'stack', 'lands', 'state-based')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
keyword_explain2 paramsExplain an MTG keyword with rules text, examples, and interactions. Returns the rules definition, reminder text, and up to 5 example card…

Explain an MTG keyword with rules text, examples, and interactions. Returns the rules definition, reminder text, and up to 5 example cards from bulk data.

ParameterTypeDescription
keywordstringMTG keyword to explain (e.g. 'trample', 'deathtouch')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
rules_interaction3 paramsExplain how two mechanics or cards interact under MTG rules. Returns relevant rules, step-by-step resolution, and common misconceptions.
ParameterTypeDescription
mechanic_astringFirst mechanic or card name
mechanic_bstringSecond mechanic or card name
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
rules_scenario2 paramsResolve a game scenario step-by-step using MTG rules. Covers priority, stack resolution, state-based actions, and triggers with rule cita…

Resolve a game scenario step-by-step using MTG rules. Covers priority, stack resolution, state-based actions, and triggers with rule citations.

ParameterTypeDescription
scenariostringGame scenario to resolve (describe the board state and action)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
combat_calculator4 paramsCalculate combat step-by-step with keyword interactions. Resolves declare attackers → declare blockers → damage steps → state-based actio…

Calculate combat step-by-step with keyword interactions. Resolves declare attackers → declare blockers → damage steps → state-based actions. Looks up card keywords from bulk data if card names are provided.

ParameterTypeDescription
blockersarrayBlocking creature names or descriptions
keywordsAdditional keyword abilities to consider (e.g. 'deathtouch', 'trample')
attackersarrayAttacking creature names or descriptions
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'

Ready-made

Prompts

  • evaluate_commander_swapEvaluate swapping a card in a Commander deck.
  • deck_health_checkGuide a comprehensive deck health assessment.
  • draft_strategyGuide a draft format preparation session.
  • find_upgradesGuide a budget upgrade session for a Commander deck.
  • build_deckGuide building a deck from scratch for any format.
  • evaluate_collectionEvaluate a collection of cards across formats.
  • format_introIntroduce a Magic format with key rules and staple cards.
  • card_alternativesFind budget alternatives to an expensive or unavailable card.
  • rules_questionGuide for answering an MTG rules question with citations.
  • build_around_deckBuild a deck around specific cards or a win condition in any format.
  • build_tribal_deckBuild a tribal deck for any format.
  • build_theme_deckBuild a themed deck around a strategy or archetype.
  • upgrade_preconGuide upgrading a Commander precon.
  • sealed_sessionGuide a sealed deck building session.
  • draft_reviewGuide a post-draft review session.
  • compare_commandersCompare commanders to help choose which to build.
  • rotation_planGuide Standard rotation preparation.
  • explore_formatGuided exploration of a competitive format's metagame.
  • build_constructed_deckBuild a competitive constructed deck with metagame awareness.

Readable data

Resources

  • list_keywordsAll keywords with brief definitions.
  • list_sectionsSection index for the Comprehensive Rules.