Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

MTG MCP Server

PYPI · MTG-MCP-SERVER · SCANNED SEP 21

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

Available components

0 this week 53 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security43
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs a script at install time (build_backend) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
  • 4 of 38 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
Schema Quality & AI Usability86
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 8651 tokens (~121/item across 71 items; 69 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: two runs of the same published version returned different tool surfaces, so we cannot tell a change in the package from a difference in our own sandbox run.Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 69 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 71 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the MTG MCP Server server?

MTG MCP Server runs locally as a PyPI package, launched with uvx mtg-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mtg-mcp-server

# add to Claude Code
claude mcp add j4th-mtg-mcp-server -- uvx mtg-mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "j4th-mtg-mcp-server": {
      "command": "uvx",
      "args": [
        "mtg-mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "j4th-mtg-mcp-server": {
      "command": "uvx",
      "args": [
        "mtg-mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add j4th-mtg-mcp-server -- uvx mtg-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "j4th-mtg-mcp-server": {
      "type": "local",
      "command": [
        "uvx",
        "mtg-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add j4th-mtg-mcp-server --command uvx --arg mtg-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  j4th-mtg-mcp-server:
    command: "uvx"
    args: ["mtg-mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "j4th-mtg-mcp-server": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mtg-mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add j4th-mtg-mcp-server -t stdio -c uvx -a mtg-mcp-server
// mcp.json
{
  "mcpServers": {
    "j4th-mtg-mcp-server": {
      "command": "uvx",
      "args": [
        "mtg-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 14 Sept 26 −15
    • Malware scan: pass → unverified security
  • 13 Sept 26 +15
    • Malware scan: unverified → pass security
  • 11 Sept 26 −15
    • Malware scan: pass → unverified security
  • 1 Sept 26 −13
    • Stability: 0.87 → unverified security
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
  • 31 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Analysed pypi/mtg-mcp-server@3.0.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend unreviewed uv_build

Background: Why install scripts are a supply-chain risk →

Dependencies 38 packages
Packages resolved 38
Stale 4
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 69 exposed · ~8,075 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
scryfall_search_cards ~166

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.

NameTypeReqDescription
limitintegerMax cards to return (default 30, 0 for all)
pageintegerPage number for paginated results, 1-indexed
querystringyesScryfall search query (e.g. 'f:commander id:sultai t:creature cmc<=3'). See scryfall.com/docs/syntax
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'

No output schema declared.

No examples provided.

scryfall_set_info ~45

Get metadata for a Magic set by its code.

NameTypeReqDescription
set_codestringyesSet code (e.g. 'dom', 'mh2', 'lci')

No output schema declared.

No examples provided.

scryfall_whats_new ~153

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.

NameTypeReqDescription
daysintegerLook back this many days for recent cards (minimum 1)
formatFilter to cards legal in a format (e.g. 'standard', 'commander', 'modern')
limitintegerMax cards to return (default 30, 0 for all)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
set_codeFilter to a specific set code (e.g. 'mh3', 'lci')

No output schema declared.

No examples provided.

sealed_pool_build ~121

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.

NameTypeReqDescription
poolarrayyesCard names in the sealed pool (typically 84-90)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
set_codestringyesThree-letter set code (e.g. 'LCI', 'MKM')

No output schema declared.

No examples provided.

set_overview ~116

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.

NameTypeReqDescription
event_typestringDraft format — 'PremierDraft' (default) or 'TradDraft'
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
set_codestringyesThree-letter set code for the draft format (e.g. 'LCI', 'MKM')

No output schema declared.

No examples provided.

sideboard_guide ~165

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.

NameTypeReqDescription
decklistarrayyesMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
formatstringyesCompetitive format (e.g. 'Modern', 'Pauper')
matchupstringyesMatchup archetype name (e.g. 'Mono-Red Aggro') — fuzzy matched
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
sideboardarrayyesSideboard card names (e.g. ['2 Hydroblast', '3 Tormod\'s Crypt'])

No output schema declared.

No examples provided.

sideboard_matrix ~175

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.

NameTypeReqDescription
decklistarrayyesMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
formatstringyesCompetitive format (e.g. 'Modern', 'Pauper')
matchupsMatchup names to include — omit to auto-detect from metagame data
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
sideboardarrayyesSideboard card names (e.g. ['2 Hydroblast', '3 Tormod\'s Crypt'])

No output schema declared.

No examples provided.

spellbook_combo_details ~81

Get detailed steps for a specific combo by its Spellbook ID. Use an ID from find_combos results (e.g. "1414-2730-5131-5256").

NameTypeReqDescription
combo_idstringyesSpellbook combo ID from find_combos results (e.g. '1414-2730-5131-5256')

No output schema declared.

No examples provided.

spellbook_estimate_bracket ~93

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.

NameTypeReqDescription
commandersarrayyesCommander card name(s) (e.g. ['Muldrotha, the Gravetide'])
decklistarrayyesList of card names in the main deck

No output schema declared.

No examples provided.

spellbook_find_combos ~124

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.

NameTypeReqDescription
card_namestringyesCard name to search for combos (e.g. 'Muldrotha, the Gravetide')
color_identityFilter by color identity — name ('sultai'), letters ('BUG'), or 'wubrg'
limitintegerMaximum number of combos to return

No output schema declared.

No examples provided.

spellbook_find_decklist_combos ~100

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.

NameTypeReqDescription
commandersarrayyesCommander card name(s) (e.g. ['Muldrotha, the Gravetide'])
decklistarrayyesList of card names in the main deck

No output schema declared.

No examples provided.

spicerack_format_decklists ~144

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.

NameTypeReqDescription
formatstringyesMTG format name (e.g. 'Modern', 'Legacy', 'Pauper')
limitintegerMaximum number of decklists to return (default 10)
num_daysintegerNumber of days to look back (default 14)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'

No output schema declared.

No examples provided.

spicerack_recent_tournaments ~131

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.

NameTypeReqDescription
formatstringyesMTG format name (e.g. 'Modern', 'Legacy', 'Pauper')
limitintegerMaximum number of tournaments to return (default 10)
num_daysintegerNumber of days to look back (default 14)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'

No output schema declared.

No examples provided.

spicerack_tournament_results ~141

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.

NameTypeReqDescription
formatFormat to search within (optional, helps narrow results)
num_daysintegerNumber of days to look back (default 30)
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
top_nintegerNumber of top standings to show (default 8)
tournament_idstringyesSpicerack tournament ID (e.g. '3135276')

No output schema declared.

No examples provided.

suggest_cuts ~119

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).

NameTypeReqDescription
commander_namestringyesCommander the deck is built around
decklistarrayyesList of card names in the deck
num_cutsintegerNumber of cut candidates to suggest
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'

No output schema declared.

No examples provided.

suggest_mana_base ~130

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.

NameTypeReqDescription
decklistarrayyesNon-land card names in the deck
formatstringyesFormat for land legality checking (e.g. 'commander', 'modern')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
total_landsOverride total land count (default: auto-calculated from avg CMC)

No output schema declared.

No examples provided.

suggest_sideboard ~151

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.

NameTypeReqDescription
decklistarrayyesMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
formatstringyesCompetitive format (e.g. 'Modern', 'Pauper')
meta_contextOptional context about local metagame (e.g. 'heavy on Mono-Red and Affinity')
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'

No output schema declared.

No examples provided.

theme_search ~179

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).

NameTypeReqDescription
color_identityColor identity filter (e.g. 'sultai', 'BUG', 'WR')
formatFormat legality filter (e.g. 'standard', 'modern', 'commander')
limitintegerMaximum number of results
max_priceMaximum card price in USD
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
themestringyesTheme to search for — mechanical (aristocrats, voltron, tokens), tribal (goblin, merfolk), or abstract (music, death, ocean)

No output schema declared.

No examples provided.

tribal_staples ~142

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

NameTypeReqDescription
color_identityColor identity filter (e.g. 'sultai', 'WR')
formatFormat legality filter (e.g. 'commander', 'modern')
limitintegerMaximum number of results
response_formatstringOutput verbosity: 'detailed' (default) or 'concise'
tribestringyesCreature type (e.g. 'Goblin', 'Merfolk', 'Samurai')

No output schema declared.

No examples provided.

Common questions

What is the MTG MCP Server server?

MTG MCP Server is listed in the public MCP registry as io.github.j4th/mtg-mcp-server. Magic: The Gathering card search, combo lookup, draft analytics, and Commander tools. This page covers its PyPI package (mtg-mcp-server).

Is the MTG MCP Server server safe to use?

MTG MCP Server scores 53 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the MTG MCP Server server expose?

MTG MCP Server exposes 69 tools: ping, scryfall_search_cards, scryfall_card_details, scryfall_card_price, scryfall_card_rulings, and 64 more. Their descriptions and schemas cost roughly 8,075 tokens of context every time the server is loaded.

Is the MTG MCP Server server still maintained?

MTG MCP Server is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.