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 claudeSwap --client claude for cursor, vscode, windsurf or another client. The CLI asks for any required settings.
claude mcp add --transport http mtg https://server.smithery.ai/j4th/mtg-mcp-server/mcpA hosted server: nothing to install. Run /mcp in Claude Code to sign in if it asks.
[mcp_servers.mtg]
url = "https://server.smithery.ai/j4th/mtg-mcp-server/mcp"Add to ~/.codex/config.toml.
{
"mcpServers": {
"mtg": {
"url": "https://server.smithery.ai/j4th/mtg-mcp-server/mcp"
}
}
}Add to ~/.cursor/mcp.json.
{
"servers": {
"mtg": {
"type": "http",
"url": "https://server.smithery.ai/j4th/mtg-mcp-server/mcp"
}
}
}Add to .vscode/mcp.json.
gemini mcp add --transport http mtg https://server.smithery.ai/j4th/mtg-mcp-server/mcpSaved to .gemini/settings.json.
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.
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number for paginated results, 1-indexed |
limit | integer | Max cards to return (default 30, 0 for all) |
query | string | Scryfall search query (e.g. 'f:commander id:sultai t:creature cmc<=3'). See scryfall.com/docs/syntax |
response_format | string | Output verbosity: 'detailed' (default) or 'concise' |
scryfall_card_details3 paramsGet full details for a Magic card by exact or fuzzy name.
| Parameter | Type | Description |
|---|---|---|
name | string | Card name — exact match by default (e.g. 'Muldrotha, the Gravetide') |
fuzzy | boolean | Use fuzzy matching for approximate names (e.g. 'muldrotha' finds 'Muldrotha, the Gravetide') |
response_format | string | Output verbosity: 'detailed' (default) or 'concise' |
scryfall_card_price1 paramGet current prices for a Magic card. Prices update once per day.
| Parameter | Type | Description |
|---|---|---|
name | string | Card name for price lookup (exact match) |
scryfall_card_rulings1 paramGet official rulings and clarifications for a Magic card.
| Parameter | Type | Description |
|---|---|---|
name | string | Card name to get official rulings for (exact match) |
scryfall_set_info1 paramGet metadata for a Magic set by its code.
| Parameter | Type | Description |
|---|---|---|
set_code | string | Set 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.
| Parameter | Type | Description |
|---|---|---|
days | integer | Look back this many days for recent cards (minimum 1) |
limit | integer | Max cards to return (default 30, 0 for all) |
format | Filter to cards legal in a format (e.g. 'standard', 'commander', 'modern') | |
set_code | Filter to a specific set code (e.g. 'mh3', 'lci') | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of combos to return |
card_name | string | Card name to search for combos (e.g. 'Muldrotha, the Gravetide') |
color_identity | Filter 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").
| Parameter | Type | Description |
|---|---|---|
combo_id | string | Spellbook 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.
| Parameter | Type | Description |
|---|---|---|
decklist | array | List of card names in the main deck |
commanders | array | Commander 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.
| Parameter | Type | Description |
|---|---|---|
decklist | array | List of card names in the main deck |
commanders | array | Commander 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.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Max cards to return (default 50, 0 for all) |
sort_by | string | Sort order: 'gih_wr' (default), 'alsa', 'iwd', 'name' |
set_code | string | Three-letter set code (e.g. 'LCI', 'MKM', 'OTJ', 'BLB') |
event_type | string | Draft format — 'PremierDraft' (default) or 'TradDraft' |
response_format | string | Output 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".
| Parameter | Type | Description |
|---|---|---|
end_date | string | End date in YYYY-MM-DD format (required by 17Lands API) |
set_code | string | Three-letter set code (e.g. 'LCI', 'MKM', 'OTJ', 'BLB') |
event_type | string | Draft format — 'PremierDraft' (default) or 'TradDraft' |
start_date | string | Start 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).
| Parameter | Type | Description |
|---|---|---|
limit | integer | Max cards per category (default 10, 0 for all) |
category | Filter by card type: 'creatures', 'enchantments', 'artifacts', 'instants', 'sorceries', 'lands', 'planeswalkers' | |
commander_name | string | Full commander name (e.g. 'Muldrotha, the Gravetide') |
response_format | string | Output 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").
| Parameter | Type | Description |
|---|---|---|
card_name | string | Card to check synergy for (e.g. 'Spore Frog') |
commander_name | string | Commander 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.
| Parameter | Type | Description |
|---|---|---|
deck_id | string | Moxfield 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.
| Parameter | Type | Description |
|---|---|---|
deck_id | string | Moxfield 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.
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number (1-indexed) |
sort | string | Sort order: 'Updated', 'Created', or 'Views' |
query | Optional search text to filter decks by name or description | |
format | Format filter (e.g. 'pauper', 'commander', 'modern'). Leave empty for all formats. | |
page_size | integer | Results 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.
| Parameter | Type | Description |
|---|---|---|
format | Optional format filter (e.g. 'commander', 'modern') | |
username | string | Moxfield 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.
| Parameter | Type | Description |
|---|---|---|
name | string | Card name for exact lookup, case-insensitive (e.g. 'Sol Ring') |
response_format | string | Output 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).
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of results to return |
query | string | Substring to search for, case-insensitive |
search_field | string | Field to search in -- 'name' (card name), 'type' (type line), or 'text' (oracle text) |
response_format | string | Output 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').
| Parameter | Type | Description |
|---|---|---|
cards | array | List of card names to check legality for |
format | string | Format 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).
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum results to return |
query | string | Search query -- card name, type, or oracle text substring (e.g. 'flying creatures', 'destroy target') |
format | string | Format to search in (e.g. 'commander', 'modern', 'standard') |
rarity | Rarity filter (e.g. 'common', 'uncommon', 'rare', 'mythic') | |
max_price | Maximum USD price filter | |
color_identity | Color identity filter (e.g. 'sultai', 'WU', 'red'). Only returns cards within this identity. | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
color | Color identity filter (e.g. 'sultai', 'WU', 'red'). Only returns cards within this identity. | |
limit | integer | Maximum results to return |
format | string | Format to find staples for (e.g. 'commander', 'modern', 'legacy') |
card_type | Card type filter (e.g. 'creature', 'instant', 'land') | |
ranking_mode | string | How 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_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum results to return |
format | Format filter (e.g. 'commander', 'modern'). Only returns legal cards. | |
card_name | string | Name of the card to find similar cards for |
max_price | Maximum USD price filter | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | Format filter (e.g. 'commander', 'modern'). Only returns legal cards. | |
rarity | Rarity filter (e.g. 'common', 'uncommon', 'rare', 'mythic') | |
card_type | Card type filter (e.g. 'creature', 'instant', 'land') | |
color_identity | Color 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.
| Parameter | Type | Description |
|---|---|---|
format | string | Format 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.
| Parameter | Type | Description |
|---|---|---|
card_name | string | Card 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.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of tournaments to return (default 10) |
format | string | MTG format name (e.g. 'Modern', 'Legacy', 'Pauper') |
num_days | integer | Number of days to look back (default 14) |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
top_n | integer | Number of top standings to show (default 8) |
format | Format to search within (optional, helps narrow results) | |
num_days | integer | Number of days to look back (default 30) |
tournament_id | string | Spicerack tournament ID (e.g. '3135276') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of decklists to return (default 10) |
format | string | MTG format name (e.g. 'Modern', 'Legacy', 'Pauper') |
num_days | integer | Number of days to look back (default 14) |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | MTG format name (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | MTG format name (e.g. 'Modern', 'Legacy', 'Pioneer') |
archetype | string | Archetype name (e.g. 'Boros Energy', 'Azorius Control') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of staples to return (default 20) |
format | string | MTG format name (e.g. 'Modern', 'Legacy', 'Pioneer') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | MTG format name (e.g. 'Modern', 'Legacy', 'Pioneer') |
archetype | string | Archetype name (e.g. 'Boros Energy', 'Azorius Control') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
commander_name | string | Commander card name (e.g. 'Muldrotha, the Gravetide') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
card_name | string | Card to evaluate for the deck (e.g. 'Spore Frog') |
commander_name | string | Commander the deck is built around |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
pack | array | List of card names currently in the draft pack |
set_code | string | Three-letter set code for the draft format (e.g. 'LCI', 'MKM') |
current_picks | Cards already drafted — enables color fit analysis when provided | |
response_format | string | Output 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).
| Parameter | Type | Description |
|---|---|---|
decklist | array | List of card names in the deck |
num_cuts | integer | Number of cut candidates to suggest |
commander_name | string | Commander the deck is built around |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
cards | array | 2-5 card names to compare side-by-side |
commander_name | string | Commander the deck is built around |
response_format | string | Output 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).
| Parameter | Type | Description |
|---|---|---|
budget | number | Maximum price per card in USD (e.g. 5.0 for cards under $5) |
commander_name | string | Commander the deck is built around |
num_suggestions | integer | Number of upgrade suggestions to return |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
decklist | array | List of card names in the deck (99 cards for Commander) |
commander_name | string | Commander the deck is built around |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
set_code | string | Three-letter set code for the draft format (e.g. 'LCI', 'MKM') |
event_type | string | Draft format — 'PremierDraft' (default) or 'TradDraft' |
response_format | string | Output 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).
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of results |
theme | string | Theme to search for — mechanical (aristocrats, voltron, tokens), tribal (goblin, merfolk), or abstract (music, death, ocean) |
format | Format legality filter (e.g. 'standard', 'modern', 'commander') | |
max_price | Maximum card price in USD | |
color_identity | Color identity filter (e.g. 'sultai', 'BUG', 'WR') | |
response_format | string | Output 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).
| Parameter | Type | Description |
|---|---|---|
cards | array | 1-5 card names to build around |
limit | integer | Maximum number of suggestions |
budget | Maximum price per card in USD | |
format | string | Format to build for (e.g. 'standard', 'modern', 'commander') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
budget | Maximum price per suggested card in USD | |
format | string | Format to build for (e.g. 'standard', 'modern', 'commander') |
decklist | array | Partial decklist — card names already chosen |
commander | Commander name (required for Commander format) | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
commanders | array | 2-5 commander names to compare head-to-head |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of results |
tribe | string | Creature type (e.g. 'Goblin', 'Merfolk', 'Samurai') |
format | Format legality filter (e.g. 'commander', 'modern') | |
color_identity | Color identity filter (e.g. 'sultai', 'WR') | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
budget | number | Maximum price per upgrade card in USD |
decklist | array | Full precon decklist — card names |
commander | string | Commander card name |
num_upgrades | integer | Number of upgrade suggestions |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum number of results |
category | Card category filter (e.g. 'creatures', 'instants', 'lands') | |
color_identity | string | Color identity (e.g. 'sultai', 'BUG', 'WR', 'mono-red') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
pool | array | Card names in the sealed pool (typically 84-90) |
set_code | string | Three-letter set code (e.g. 'LCI', 'MKM') |
response_format | string | Output 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).
| Parameter | Type | Description |
|---|---|---|
picks | array | Cards already drafted, in pick order |
set_code | string | Three-letter set code (e.g. 'LCI', 'MKM') |
current_pack | Current pack contents — if provided, cards are ranked with signal context | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
picks | array | Cards drafted in order (pack 1 pick 1 through pack 3 pick 14) |
set_code | string | Three-letter set code (e.g. 'LCI', 'MKM') |
final_deck | Final deck submitted — enables 'made the deck' analysis | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
cards | Card names to check for rotation — omit for general rotation info | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | Competitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | Competitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper') |
archetype | string | Archetype name (e.g. 'Boros Energy', 'Mono-Blue Terror') — fuzzy matched |
response_format | string | Output verbosity: 'detailed' (default) or 'concise' |
archetype_comparison3 paramsCompare 2-4 competitive archetypes side-by-side. Shows price, colors, key cards, shared staples, and differences.
| Parameter | Type | Description |
|---|---|---|
format | string | Competitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper') |
archetypes | array | 2-4 archetype names to compare (fuzzy matched) |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
budget | Max budget in USD — filters archetypes to this price ceiling | |
format | string | Competitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | Competitive format (e.g. 'Modern', 'Pauper') |
decklist | array | Main deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide']) |
meta_context | Optional context about local metagame (e.g. 'heavy on Mono-Red and Affinity') | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | Competitive format (e.g. 'Modern', 'Pauper') |
matchup | string | Matchup archetype name (e.g. 'Mono-Red Aggro') — fuzzy matched |
decklist | array | Main deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide']) |
sideboard | array | Sideboard card names (e.g. ['2 Hydroblast', '3 Tormod\'s Crypt']) |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | Competitive format (e.g. 'Modern', 'Pauper') |
decklist | array | Main deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide']) |
matchups | Matchup names to include — omit to auto-detect from metagame data | |
sideboard | array | Sideboard card names (e.g. ['2 Hydroblast', '3 Tormod\'s Crypt']) |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | Format to validate against (e.g. 'commander', 'modern', 'standard', 'legacy') |
decklist | array | Card names, optionally prefixed with quantity (e.g. '4x Lightning Bolt' or 'Lightning Bolt') |
commander | Commander card name (required for Commander format) | |
sideboard | Sideboard card names, same format as decklist | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
format | string | Format for land legality checking (e.g. 'commander', 'modern') |
decklist | array | Non-land card names in the deck |
total_lands | Override total land count (default: auto-calculated from avg CMC) | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
cards | array | 2-20 card names to compare prices |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
query | string | Rule number (e.g. '704.5k') or keyword to search for |
section | Narrow search to a section (e.g. 'combat', 'stack', 'lands', 'state-based') | |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
keyword | string | MTG keyword to explain (e.g. 'trample', 'deathtouch') |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
mechanic_a | string | First mechanic or card name |
mechanic_b | string | Second mechanic or card name |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
scenario | string | Game scenario to resolve (describe the board state and action) |
response_format | string | Output 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.
| Parameter | Type | Description |
|---|---|---|
blockers | array | Blocking creature names or descriptions |
keywords | Additional keyword abilities to consider (e.g. 'deathtouch', 'trample') | |
attackers | array | Attacking creature names or descriptions |
response_format | string | Output 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.