MTG Deckbuilder MCP
This MCP server provides Magic: The Gathering card search, deck analysis, combo discovery, EDHREC insights, and deck pricing.
Search cards using full Scryfall syntax with sorting/filtering and brief/full details.
Look up a card by fuzzy or exact name, including oracle text, legalities, price, and heuristic deck roles.
Fetch official card rulings, all printings with cheapest-first prices, autocomplete names, and random cards by query.
Analyze pasted decklists for legality, mana curve, color pips vs. land sources, card roles, template gaps, Game Changers, and total price.
Flag cards above a per-card budget and optionally specify commanders.
Find combos already in a deck or one card away, with optional step-by-step instructions.
Search Commander Spellbook combos by card, result, color identity, or combo size.
Get EDHREC commander recommendations by theme, budget, partner, categories, or excluding cards already in a deck.
Get EDHREC card data showing top commanders and commonly paired cards.
Price a decklist with per-card USD prices and total, most expensive first.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MTG Deckbuilder MCP Find green ramp creatures under $1 legal in Commander."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mtg-deckbuilder-mcp
An MCP server (mtg-deckbuilder) that lets Cursor, Claude Desktop, Claude Code, or any MCP client build, tune, goldfish, and publish Magic: The Gathering decks with live card data instead of LLM memory.
┌───────────────────┬───────────────────────┬──────────────┬───────────────┬───────────────────┐
│ Scryfall │ Commander Spellbook │ EDHREC │ Archidekt │ Reference Library │
│ Cards • Rulings │ In-Deck & 1-Card- │ High-Synergy │ Public Decks │ NeRo's 28 Tested │
│ Printings • Price │ Away Combo Lines │ & Top Cards │ & Meta Share │ ~$100 B4 Lists │
└─────────┬─────────┴───────────┬───────────┴──────┬───────┴───────┬───────┴─────────┬─────────┘
└─────────────────────┴──────────────────┼───────────────┴─────────────────┘
▼
┌───────────────────────────────────────┐
│ mtg-deckbuilder MCP (28 Tools) │
│ + 16 Deckbuilding Skills & Prompts │
│ + Monte Carlo Goldfish Simulator │
└───────────────────┬───────────────────┘
▼
┌─────────────────────────┬─────────────────┴───────┬─────────────────────────┐
▼ ▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 1. NeRo │ │ 2. Defcat │ │ 3. Based 33 │ │ 4. Moxfield │
│ • Commander │ │ • Turn phase │ │ • 33-card │ │ • Bulk-paste │
│ bend & win │ │ (1st/2nd / │ │ 1-game core│ │ #tags list │
│ • Veggies + │ │ their turn)│ │ • Sim 33 1st │ │ • Copy-paste │
│ 2-job cards│ │ • MV bar & │ │ • Scale 3x33 │ │ Markdown │
│ • Pips/lands │ │ cheap fuel │ │ • Split 3x33 │ │ primer │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘Highlights
Scryfall: full Scryfall syntax search, fuzzy card lookup, official Gatherer rulings, cheapest printings, and daily USD prices.
Universal Decklist Parser: accepts pastes from Moxfield (including printings, foils,
#tags, and trailing commander blocks), MTG Arena, Archidekt ([Category]tags), MTGO, Deckstats (*CMDR*), or plain1 Card Namelines. Secret Lair and Universes Beyond alternate names (e.g. Black Panther's Redirection, Thrum of the Vestige) resolve automatically to their oracle card.Deck Analysis & Custom Templates: checks format legality (deck size, singleton/copy limits, colour identity, banlist), mana curve, colour pips vs. land sources, heuristic card roles (ramp, draw, removal, counterspells, wipes, tutors, protection, recursion), WotC Game Changers, total USD price, and fit against The Command Zone's template (or custom category targets).
Monte Carlo Goldfish Simulator (
simulate_deck): shuffles and plays out up to 50,000 games with multiplayer Commander free-mulligan rules, untapped/tapped land sequencing, mana dorks (with summoning sickness), mana rocks, rituals, land ramp, and tutors standing in for missing combo pieces.Commander Spellbook: finds combos already in your deck, combos you are one card away from, and searches the full Spellbook database.
EDHREC & Archidekt: fetches high-synergy and top cards by theme or budget (filtering out cards already in your list), searches public Archidekt decks by commander/card/owner/bracket, pulls full categorized decklists, and tallies card inclusion % across top-viewed decks.
Reference Library & Moxfield Importer: ships with 28 tested ~$100 high-power Bracket 4 / budget cEDH decks from NeRo (
@_NeRo), complete with author role tags, capture-time prices, distilled principles, mulligan guides, and win lines. Import or refresh any Moxfield builder withmoxfield_import_user.16 Built-in Deckbuilding Skills (
get_skill& MCP Prompts): encodes a complete three-school deckbuilding pass (NeRo / Budget Bros + Defcat + Based Deck Department 33-Card) plus automated Moxfield#tag+ Primer generation.
Related MCP server: Scryfall MCP Server
MCP Tools (28 Tools)
Cards, Scryfall & Card-Forge
Tool | What it does |
| Scryfall search ( |
| One card by (fuzzy or exact) name and optional |
| Official Gatherer/Scryfall rulings for a card, plus oracle text for context |
| All printings of a card sorted cheapest USD first, with set code, collector number, and foil prices |
| Up to 20 real card name suggestions for a partial or misspelled name |
| Random card, optionally restricted by a Scryfall query (e.g. |
Deck Analysis, Mana Base, Diffs, Pod Balance & Goldfish Simulation
Tool | What it does |
| Full deck report: format legality, WotC Bracket (1–5) + |
| Karsten 99-card recommended land count, 0–100 Mana Base Grade ( |
| Browse 24 Commander land cycles ( |
| Side-by-side comparison of two decklists in one Scryfall batch: |
| Rule 0 table balance check across 2–4 Commander decks: Pod Verdict ( |
| Every token a deck creates and suggested copy counts, accounting for batch creation, repeatable triggers, board scaling, and token doublers |
| Quick price check of a decklist in |
| The Command Zone's Commander template (38 lands, 10 ramp, 12 card advantage, 12 targeted disruption, 6 mass disruption, 30 plan), custom overrides, overlap calculation, and colour-scoped Scryfall queries |
| Budget Pub Stomper & Budget Bros MTG principles for ~$100 high-power Bracket 4 builds: engine commander, win line first, build backwards from ideal turn, average MV ~2.0, 29–34 lands, veggies before theme, and cutting blank-this-turn enablers |
| Goldfish a deck 100–50,000 times ( |
Combos (Commander Spellbook)
Tool | What it does |
| Combos already in a decklist and combos one card away, with step-by-step execution instructions |
| Search Commander Spellbook combos by query, e.g. |
EDHREC & Archidekt
Tool | What it does |
| EDHREC recommendations for a commander (and optional |
| EDHREC profile for a single card: top commanders that play it and high-synergy pairings |
| Search public Archidekt decks by |
| Fetch one public Archidekt deck by ID or URL: commanders, builder category counts, cards by category, approximate price, and a ready-to-use |
| Sample 1–30 top Archidekt decks for a commander (optionally filtered by |
Reference Library & Skills
Tool | What it does |
| Overview of all reference builders and every deck in the library with archetype, land count, average MV, win-line count, and capture-time price |
| Distilled deckbuilding principles and rules of thumb from the reference builders' primers, with evidence decks |
| Proven cards from the reference library ranked by deck count, price, or MV; filter by |
| How a single card is used across the reference library: decks playing it, roles tagged by the builder, commander usage, and decks |
| Full reference deck entry by commander, name, or Moxfield ID: plan, ideal turn, mulligan guide, |
| Compare a decklist against the reference library to surface proven staples in its colour identity that it isn't running yet, grouped by role |
| Import or refresh every public Commander deck (cards, author tags, card metadata, and raw Markdown primers) of a Moxfield user into the reference library |
| Load one of the 16 deckbuilding skills from |
Deckbuilding Skills & The Three-School Pass
Every build or tune runs three deckbuilding schools on the same list via get_skill (or MCP prompts):
NeRo / Budget Bros School: finds the rule the commander bends past its surface EDHREC theme, locks the win condition first (one spell, an edict/effect pile, or overlapping 2–4 card combos where every piece works alone), fills draw/ramp/interaction ("veggies") at higher-than-usual counts, and demands that utility cards do two jobs the turn they are cast.
Defcat School: evaluates when in the turn each card wants to resolve (first main, second main, or an opponent's turn), checks whether casting one card makes another card better, and—when the commander sets a mana-value bar (e.g. Rashmi, cascade, top-of-library)—pairs cheap alternate-cost high-MV fuel (delve, pitch, evoke, convoke, affinity) with 1–3 MV flash/ETB hits.
Based 33-Card School (Based Deck Department / Brother Frog): since an average Commander game sees ~1/3 of the deck (33 cards), builds and goldfishes a tight 33-card 1-game deck first (
based-core+simulate_deckat low variance), then replicates each slot two more times (based-scale,33 × 3 = 99) so the deck is a reliable "silly goose" instead of a once-a-year "pigeon"—or deals an existing 99 into three 33-card piles (based-split) to expose uneven role splits,1/0/0orphans (Archmage Emeritus), and slow random value engines (Exalted Flamer of Tzeentch).
New Commander ("Build a $100 Rowan") Existing Decklist / Link ("Tune my Vren list")
│ │
▼ ▼
1. deckbuilding_principles 1. nero-tune (load decklist text)
2. nero-build + reference_deck check 2. reference_principles(source="nero")
3. nero-read ──► Surface vs. Bend, Trap, Jobs 3. analyze_deck + price_decklist
4. defcat-read ─► Turn window & MV Bar (or "none") 4. get_card(commander) + defcat-read
5. nero-lines ──► 1 spell / pile / overlapping combos 5. reference_deck + based-split (3 x 33)
6. based-core ──► Lock 33-card 1-game slot budget 6. find_combos + reference_compare
7. nero-hunt + defcat-turn (+ defcat-fuel if Bar) 7. nero-hunt + defcat-turn (for new adds)
8. nero-goldfish on 33-card core (test at low var) 8. nero-goldfish (33 Pile A + 99 before/after)
9. based-scale ─► Triplicate 33 x 3 = 99 (0 orphans) 9. nero-mana (if a colour is short)
10. nero-mana ──► Colour pips vs. land sources 10. moxfield-primer (on request)
11. analyze_deck + price_decklist + find_combos
12. nero-goldfish on 99 (compare vs. 33-card seed)
13. edhrec_recommendations + archidekt_popular_cards
14. moxfield-primer (#tags + Markdown primer)All 16 Skills (src/mtg_mcp/deck_skills/)
Skill | School | When to use |
| NeRo + Defcat + Based | Master build order for a new commander at ~$100 high-power Bracket 4 |
| NeRo + Defcat + Based | Evaluate and tune an existing decklist: one plan-fixing swap first, then at most four more tied to tool numbers |
| NeRo | Read a commander past its EDHREC theme: what locks, what mana you still pay, the trap card, win shape, and 3–4 jobs |
| NeRo | Pick the win: one finisher spell, a pile of the same effect, or overlapping 2–4 card combos with no dead pieces |
| NeRo | Find ~$100 Bracket 4 veggies and double-duty cards; cut 4-mana enablers that do nothing the turn they enter |
| NeRo | Fix colour pips vs. land sources and cut taplands using land counts matched to commander MV and plan |
| NeRo | Run |
| Defcat | Second-school pass inside |
| Defcat | Read commanders that compare mana value, reveal the top card, or trigger on the first spell each turn |
| Defcat | Rescore cards for the moment they resolve (1st main, 2nd main, or free on an opponent's turn) |
| Defcat | Find high printed-MV spells that cost little mana to pay (delve, pitch, evoke, convoke, affinity) when a bar exists |
| Based 33-Card | Third-school pass inside |
| Based 33-Card | Draft and goldfish a 33-card 1-game Commander deck ( |
| Based 33-Card | Replicate a tested 33-card core two more times ( |
| Based 33-Card | Split an existing 99-card deck into three 33-card piles to expose uneven splits, |
| Publishing | Tag every card in the final list ( |
Reference Library
src/mtg_mcp/data/library/<source>/ stores real, tested decklists with the builder's own card tags, capture-time card metadata, and primer notes (plan, ideal turn, mulligan guide, win lines, key cards).
Bundled source: NeRo (
@_NeRoon Moxfield) — 28 decks (mostly ~$100 high-power Bracket 4 / budget cEDH), captured2026-10-20.Canonical roles (
ROLES):ramp,draw,tutor,counter,removal,wipe,protection,stax,combo,recursion,untap,clone,tokens,evasion,land.Browsable Markdown docs:
docs/library/contains human- and agent-readable principles, the full card library by role, and every deck's plan and win lines.Add or refresh a Moxfield builder: call
moxfield_import_user(username="...")(hand-written deck notes are preserved), then regenerate the Markdown docs:python scripts/build_library_docs.pyCustom library path: set
MTG_MCP_LIBRARY_DIR=/path/to/libraryto store or load the library outsidesrc/mtg_mcp/data/library/.Price note: library prices are capture-time snapshots for the exact printings in the builder's list. Always re-check live prices with
price_decklistand cheapest copies withget_card_printings.
Deckbuilding Template
For standard Commander builds, deckbuilding_template and analyze_deck check lists against The Command Zone's template:
Category | Default | What counts |
| 38 | Land cards |
| 10 | Mana rocks and dorks, land fetch, Treasure makers, extra land drops |
| 12 | Draw and impulse-draw sources |
| 12 | Spot removal, counterspells, bounce, edicts, fights |
| 6 | Board wipes and sweepers |
| 30 | Cards advancing the deck's strategy (any nonland card not matching the above) |
The targets sum to 108 for 99 slots, meaning ~9 cards should fill two roles. Any category target can be overridden per call by passing template={"lands": 34, "ramp": 12} to deckbuilding_template or analyze_deck.
Install & Client Setup
Requires Python 3.10+.
cd mtg-deckbuilder-mcp
pip install -e . # or: uv pip install -e .
mtg-mcp --helpCursor IDE
This repo includes .cursor/mcp.json and workspace rules in .cursor/rules/ (use-mtg-mcp.mdc, full-deck-pass.mdc, ponytail.mdc).
To run against the hosted server (default in .cursor/mcp.json):
{
"mcpServers": {
"mtg-deckbuilder": {
"url": "https://mcp.swag31415.com/mcp"
}
}
}Or to run locally via stdio in .cursor/mcp.json:
{
"mcpServers": {
"mtg-deckbuilder": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/MTG-Deck-Builder-MCP", "run", "mtg-mcp"]
}
}
}Claude Desktop
Open Settings → Developer → Edit Config and add:
{
"mcpServers": {
"mtg-deckbuilder": {
"command": "mtg-mcp"
}
}
}If mtg-mcp is not on the PATH Claude Desktop sees, use the full binary path (which mtg-mcp) or uv:
{
"mcpServers": {
"mtg-deckbuilder": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/MTG-Deck-Builder-MCP", "run", "mtg-mcp"]
}
}
}Claude Code
claude mcp add mtg-deckbuilder -- mtg-mcpStreamable HTTP Server
mtg-mcp --http --host 0.0.0.0 --port 8000 # serves streamable HTTP at http://0.0.0.0:8000/mcpWhen running behind a reverse proxy or tunnel (Cloudflare, nginx, Tailscale), the MCP SDK rejects non-localhost Host headers by default. Pass --allowed-host twice per hostname (name:* for host:port and bare name for default port 443):
mtg-mcp --http --host 0.0.0.0 --port 8000 --allowed-host mtg.internal:* --allowed-host mtg.internalDocker
The Dockerfile runs mtg-mcp as an unprivileged user (nobody). With no arguments it runs over stdio; pass --http flags to expose port 8000:
docker build -t mtg-mcp .
docker run --rm mtg-mcp --helpStdio (Claude Desktop / Cursor without local Python):
"mtg-deckbuilder": {
"command": "docker",
"args": ["run", "-i", "--rm", "mtg-mcp"]
}Streamable HTTP (http://localhost:8000/mcp):
docker run --rm -p 8000:8000 mtg-mcp --http --host 0.0.0.0 --port 8000 --allowed-host mtg.internal:* --allowed-host mtg.internal(Note: because the container runs as nobody, mount a writable directory and set -e MTG_MCP_LIBRARY_DIR=/data/library if you want to run moxfield_import_user inside Docker.)
Example Prompts
"Build me a $100 Rowan, Scion of War Bracket 4 deck with a Moxfield primer and tagged decklist."
"Tune this deck the NeRo way:" + paste a Moxfield export or Archidekt URL.
"What combos am I one card away from in this list?"
"Simulate this deck 10,000 times with
seed=42and compare the turn-3 commander cast rate before and after cutting 2 taplands for pain lands.""Find the 15 most viewed Archidekt decks for Atraxa in Bracket 3 and show which cards most of them run that I don't."
"What are NeRo's most-played Dimir interaction and ramp staples under $3?"
Tests
The test suite (tests/test_all.py) is 100% offline using deterministic API fakes (tests/fakes.py):
python -m unittest discover -s tests -vNotes, Caching & Rate Limits
Upstream Source | Min Request Interval | Cache TTL | Notes |
Scryfall ( |
|
| Uses |
Commander Spellbook ( |
|
| Official combo search and deck combo detection API. |
EDHREC ( |
|
| Unofficial JSON endpoints loaded by EDHREC's web pages. Best-effort; may change if EDHREC updates its frontend. |
Archidekt ( |
|
| Unofficial JSON endpoints for public deck search and deck pages. |
Moxfield ( |
| — | Unofficial API used by |
Role tagging in
analysis.pyis a regex heuristic over oracle text—great for spotting structural gaps, always verified withget_cardduring the skill pass.Fan Content Policy: follows Wizards of the Coast's Fan Content Policy and Scryfall's API terms. Keep projects built on this free and do not imply official endorsement.
Roadmap
See docs/ROADMAP.md for the upcoming 10-phase plan:
Part 1 (Phases 1–5 — Foundation & Moxfield Loop):
captured_atprovenance on library tools, one-callmoxfield_get_deck, deterministictag_decklist, persistent SQLite HTTP cache (~/.cache/mtg-mcp/http_cache.sqlite3), and golden-deck CI regression evals.Part 2 (Phase 6 — Speed & Richer Reports): per-card cache inside
Scryfall.collection(), parallel host calls viaasyncio.gather, automatic WotC Bracket 1–5 estimation inanalyze_deck, and EUR + cheapest-printing budget swap finder inprice_decklist.Part 3 (Phases 7–10 — EDHcheck Tool Suite):
analyze_mana_base(exactmath.combhypergeometric on-curve cast rates & land cycle classification),search_lands, color-aware goldfish + custommulligan_targets,compare_decks(A/B deck diff),check_pod(4-deck Rule 0 pod checker), andfind_tokens.
Repository Layout
See docs/architecture.md for layers, dependency rules, and the modularization checklist.
src/mtg_mcp/
__init__.py package version
server.py FastMCP server, 28 MCP tools, CLI entry point (--http / stdio)
wiring.py shared HTTP clients and deck resolution for tools
tools/ MCP tool registration (split in progress; see architecture.md)
analysis/ deck analysis package (core.py today; roles/mana/bracket split planned)
http.py per-host rate-limited, retrying async HTTP client + in-memory TTLCache
scryfall.py Scryfall API client (search, named, collection batches, rulings, printings)
forge.py Card-Forge rules script & AI synergy tag parser (DeckHas, DeckNeeds, AST nodes)
decklist.py multi-format decklist parser (Moxfield, Arena, Archidekt, MTGO, plain text)
goldfish.py Monte Carlo goldfish simulator (mulligans, mana sources, rituals, tutors, win lines)
principles.py Budget Pub Stomper & Budget Bros MTG ~$100 Bracket 4 deckbuilding principles
skills.py SKILL.md frontmatter parser, get_skill loader, and MCP prompt registration
spellbook.py Commander Spellbook API client (find_my_combos, search)
edhrec.py EDHREC client (commander recommendations, themes, budget, single-card stats)
archidekt.py Archidekt client (deck search, full deck summary, popular cards across top decks)
library.py reference library loader, role normalizer, card/deck search, staple comparison
moxfield.py Moxfield user importer for reference library sources
deck_skills/ 16 deckbuilding skills (nero-*, defcat-*, based-*, moxfield-primer)
data/library/ bundled reference library data (nero/source.json, decks.json, cards.json)
scripts/
build_library_docs.py regenerate docs/library/ Markdown files from src/mtg_mcp/data/library/
docs/
ROADMAP.md 10-phase architecture, performance, and EDHcheck tool suite roadmap
library/ browsable Markdown reference library (PRINCIPLES.md, CARD_LIBRARY.md, DECKS.md)
.cursor/
mcp.json Cursor MCP server config
rules/ Cursor workspace rules (full-deck-pass.mdc, use-mtg-mcp.mdc, ponytail.mdc)
skills/ Ponytail engineering workflow skills
tests/
fakes.py deterministic offline HTTP fakes for Scryfall, Spellbook, EDHREC, Archidekt, Moxfield
test_all.py offline unit and integration test suiteAvailable Tools
12 toolsanalyze_deckB
Analyse a pasted decklist (Moxfield, Arena, Archidekt, MTGO or plain 1 Card Name lines).
Reports legality for the format (size, copies, colour identity, bans), mana curve,
colour pips vs land sources, card roles (ramp, draw, removal, wipes, tutors...),
gaps against a typical Commander template, Game Changers, and total price.
Pass commanders if the list doesn't mark them. budget_per_card flags cards above that USD price.
Inputs: decklist (required), format, commanders, budget_per_card. Returns: object
autocomplete_card_nameA
Suggest up to 20 real card names for a partial or misspelled name.
Inputs: partial (required). Returns: object
edhrec_cardB
EDHREC data for a card: the commanders that play it most and cards commonly played with it.
Inputs: name (required). Returns: object
edhrec_recommendationsA
EDHREC recommendations for a commander: high-synergy cards, top cards, and per-type lists.
theme: an EDHREC theme like "tokens", "+1/+1 counters", "aristocrats" (see
themesin the result).budget: "budget" or "expensive" EDHREC variants.
decklist: if given, cards already in the deck are removed so results are suggested adds.
categories: restrict to list tags such as ["highsynergycards", "topcards", "creatures", "instants"]. Each card shows inclusion % (share of this commander's decks running it) and synergy % (how much more often it appears here than in other decks of these colours).
Inputs: commander (required), theme, budget, partner, +3 more. Returns: object
find_combosB
Find combos already in a deck and combos that are one card away (Commander Spellbook).
Also lists combos that would work with a different commander or by adding colours.
Inputs: decklist (required), commanders, include_steps. Returns: object
get_cardB
Look up one card by name (fuzzy by default, so misspellings and partial names work).
Returns oracle text, types, colours, legalities, price and the card's heuristic deck roles.
Inputs: name (required), exact, set_code. Returns: object
get_card_printingsB
Every printing of a card, cheapest first, with set and USD prices. Useful for budget builds.
Inputs: name (required), limit. Returns: object
get_card_rulingsC
Official rulings and Gatherer notes for a card, plus its oracle text for context.
Inputs: name (required). Returns: object
price_decklistB
Quick price check of a decklist: per-card USD price and total, most expensive first.
Inputs: decklist (required). Returns: object
random_cardB
A random card, optionally restricted by a Scryfall query (e.g. is:commander id:ur).
Inputs: query. Returns: object
search_cardsB
Search cards with full Scryfall syntax (https://scryfall.com/docs/syntax).
Examples: t:legendary t:creature id:bg, o:"draw a card" id<=u cmc<=2 f:commander,
otag:ramp id<=g usd<1, is:commander keyword:partner.
order="edhrec" sorts by popularity in Commander. detail="full" includes oracle text.
Inputs: query (required), limit, order, detail, +1 more. Returns: object
search_combosB
Search Commander Spellbook combos, most popular first.
Query syntax examples: card:"Thassa's Oracle", result:"infinite mana" id<=bg, cards=2 result:"win the game".
Inputs: query (required), limit. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Most tools have clearly distinct purposes (card lookup vs. search vs. autocomplete vs. printings vs. rulings). The main overlap is find_combos vs. search_combos and price_decklist vs. analyze_deck's price output, but descriptions clarify deck-scoped detection versus general combo search and a quick price check versus full analysis.
Almost all tools are snake_case with a verb_noun feel (find_combos, search_cards, get_card, analyze_deck). A few are noun-first (random_card, edhrec_card, price_decklist), which is a minor deviation but still readable and predictable.
12 tools is well within the sweet spot and each earns its place, covering card data, combos, EDHREC recommendations, and deck analysis without redundancy.
The surface covers card discovery, lookups, rulings, printings, combo detection, EDHREC synergy, and deck pricing/analysis thoroughly. Minor gaps like no explicit deck export/save or mana-base suggestion tool exist, but these are largely out of the stated analysis/recommendation scope.
Maintenance
Related MCP Connectors
Magic: The Gathering card search, rules, rulings, deck analysis, brackets, and combo detection.
Scryfall MCP — Magic: The Gathering card database. Keyless. Scryfall requires a User-Agent and…
Live TCG card and decklist prices for AI assistants. 22+ games, no account, ready-to-buy links.
Organize and track your Magic: The Gathering collection, decks, prices and imports.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Magic: The Gathering players to manage decks and access card information through Claude, supporting gameplay actions like drawing cards and mulligans while providing Scryfall API integration for card lookups.15-
- AlicenseBqualityDmaintenanceEnables AI assistants to search and retrieve Magic: The Gathering card data through the Scryfall API. Supports card searches, random card generation, autocomplete, set listings, and rulings lookup.22150 npm1MIT
- AlicenseAqualityCmaintenanceProvides AI assistants with 69 tools, 19 prompts, and 21 resources for deep access to Magic: The Gathering, including card data, combos, draft analytics, Commander metagame, competitive constructed, sideboard strategy, deck building, and rules engine, working with any MCP client.5656 PyPI20MIT
- AlicenseAqualityDmaintenanceEnables Claude to search and retrieve Magic: The Gathering card details, prices, set information, and random cards from Scryfall's database through natural language.42MIT