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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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