mtg-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MTG_MCP_ENABLE_RULES | No | Comprehensive Rules engine | false |
| MTG_MCP_ENABLE_EDHREC | No | EDHREC (scrapes undocumented endpoints) | false |
| MTG_MCP_ENABLE_17LANDS | No | 17Lands (rate-limits aggressively) | false |
| MTG_MCP_ENABLE_BULK_DATA | No | Scryfall bulk data (~30MB download on first use) | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Health check — returns 'pong'. |
| scryfall_search_cardsA | 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. |
| scryfall_card_detailsA | Get full details for a Magic card by exact or fuzzy name. |
| scryfall_card_priceA | Get current prices for a Magic card. Prices update once per day. |
| scryfall_card_rulingsA | Get official rulings and clarifications for a Magic card. |
| scryfall_set_infoA | Get metadata for a Magic set by its code. |
| scryfall_whats_newA | 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. |
| spellbook_find_combosA | Search for known combos involving a specific card. Optionally filter by color identity (e.g. "sultai", "BUG", "wubrg").
Returns up to |
| spellbook_combo_detailsA | Get detailed steps for a specific combo by its Spellbook ID. Use an ID from find_combos results (e.g. "1414-2730-5131-5256"). |
| spellbook_find_decklist_combosA | 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. |
| spellbook_estimate_bracketA | 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. |
| moxfield_decklistA | 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. |
| moxfield_deck_infoA | Get metadata for a Moxfield deck (name, format, author, dates). Returns deck metadata without the full card list. Use |
| moxfield_search_decksA | 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. |
| moxfield_user_decksA | List a user's public decks on Moxfield. Verifies the user exists, then searches for their public decks. Optionally filter by format. |
| spicerack_recent_tournamentsA | List recent tournaments for a format with dates, player counts, and IDs. Use the tournament ID from the results with |
| spicerack_tournament_resultsA | Get full standings and decklists for a specific tournament. Look up a tournament by its Spicerack ID. Use |
| spicerack_format_decklistsA | Find top-performing decklists across recent tournaments for a format. Collects top-4 finishers with Moxfield decklists from recent events.
Use |
| goldfish_metagameB | Get the current metagame breakdown for a competitive format. Shows top archetypes with meta share percentages, deck counts, and estimated paper prices. |
| goldfish_archetype_listA | 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. |
| goldfish_format_staplesA | 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. |
| goldfish_deck_priceA | Get the estimated paper price for an archetype deck. Returns the total estimated cost of the deck based on current card prices from MTGGoldfish. |
| commander_overviewA | 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. |
| evaluate_upgradeA | 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. |
| draft_pack_pickA | 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. |
| suggest_cutsA | 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). |
| card_comparisonA | 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. |
| budget_upgradeA | 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). |
| deck_analysisA | 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. |
| set_overviewA | 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. |
| theme_searchA | 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). |
| build_aroundA | 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). |
| complete_deckA | 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. |
| commander_comparisonA | 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. |
| tribal_staplesA | Best cards for a creature type — lords, synergy pieces, and top members. Groups results by: lords/anthems, tribal synergy, best members, tribal support. |
| precon_upgradeA | Analyze and upgrade a Commander precon — identify weakest cards, suggest replacements. Pairs each upgrade with a specific cut, explaining the synergy improvement. |
| color_identity_staplesA | Top cards across ALL commanders in a color identity. Uses EDHREC aggregated data when available, falls back to EDHREC rank from bulk data. |
| sealed_pool_buildA | 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. |
| draft_signal_readA | 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). |
| draft_log_reviewA | 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. |
| rotation_checkA | 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. |
| metagame_snapshotA | 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. |
| archetype_decklistB | 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. |
| archetype_comparisonA | Compare 2-4 competitive archetypes side-by-side. Shows price, colors, key cards, shared staples, and differences. |
| format_entry_guideA | 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. |
| suggest_sideboardA | 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. |
| sideboard_guideA | 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. |
| sideboard_matrixA | 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. |
| deck_validateA | 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. |
| suggest_mana_baseA | 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. |
| price_comparisonB | Compare prices across multiple cards using Scryfall bulk data. Returns a markdown table with USD, USD foil, and EUR prices sorted by USD descending. |
| rules_lookupA | Look up MTG Comprehensive Rules by number or keyword search. Returns matching rules with full text, parent context, and subrules. |
| keyword_explainA | 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. |
| rules_interactionA | Explain how two mechanics or cards interact under MTG rules. Returns relevant rules, step-by-step resolution, and common misconceptions. |
| rules_scenarioA | Resolve a game scenario step-by-step using MTG rules. Covers priority, stack resolution, state-based actions, and triggers with rule citations. |
| combat_calculatorA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| evaluate_commander_swap | Evaluate swapping a card in a Commander deck. |
| deck_health_check | Guide a comprehensive deck health assessment. |
| draft_strategy | Guide a draft format preparation session. |
| find_upgrades | Guide a budget upgrade session for a Commander deck. |
| build_deck | Guide building a deck from scratch for any format. |
| evaluate_collection | Evaluate a collection of cards across formats. |
| format_intro | Introduce a Magic format with key rules and staple cards. |
| card_alternatives | Find budget alternatives to an expensive or unavailable card. |
| rules_question | Guide for answering an MTG rules question with citations. |
| build_around_deck | Build a deck around specific cards or a win condition in any format. |
| build_tribal_deck | Build a tribal deck for any format. |
| build_theme_deck | Build a themed deck around a strategy or archetype. |
| upgrade_precon | Guide upgrading a Commander precon. |
| sealed_session | Guide a sealed deck building session. |
| draft_review | Guide a post-draft review session. |
| compare_commanders | Compare commanders to help choose which to build. |
| rotation_plan | Guide Standard rotation preparation. |
| explore_format | Guided exploration of a competitive format's metagame. |
| build_constructed_deck | Build a competitive constructed deck with metagame awareness. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_keywords | All keywords with brief definitions. |
| list_sections | Section index for the Comprehensive Rules. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/j4th/mtg-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server