Magic The Gathering AI Deck Builder logo

Magic: The Gathering AI Deck Builder

A hosted MCP server · built and run by Doodle Med

Plug into ChatGPT, Claude, or any MCP client and your agent gets live Scryfall card data, real Moxfield decklists, and EDHREC synergy and combo data — all public, no setup. Optional tools go further: a one-call CommanderSalt audit publishes a list to Archidekt and scores its power level, and the Mana Pool tools turn a decklist into an optimized cart on your own account — both when you bring your own credentials or configure them in Netlify.

Live data22 toolsTyped output schemasPublic tools: no authMana Pool: BYOK or Netlify envStreamable HTTP & SSE

Connect

One URL. JSON-RPC 2.0 over Streamable HTTP / SSE. GET it in a browser for capability metadata and non-secret diagnostics; POST initialize, tools/list, or tools/call to use it.

Server URLhttps://mtg-mcp.doodlemed.org/mcp
ChatGPT & Claude setup
ChatGPT: Settings → Connectors → Advanced → Developer mode → Create. Set MCP Server URL to https://mtg-mcp.doodlemed.org/mcp, Authentication None.
Claude Desktop: add to claude_desktop_config.json:
{
  "mcpServers": {
    "mtg-mcp": {
      "type": "http",
      "url": "https://mtg-mcp.doodlemed.org/mcp"
    }
  }
}
Static stdio binaries are still hosted under /mtg-mcp/binaries/ for clients that need them.

Mana Pool tools (optional · BYOK or Netlify env)

BYOK · Netlify env fallback · not stored in app state

Scryfall, Moxfield, and EDHREC tools are public and need no setup. The manapool_* tools talk to a real Mana Pool buyer account. Credentials can be passed per tool call or configured in Netlify environment variables as MANAPOOL_EMAIL and MANAPOOL_API.

  1. Sign in at manapool.com.
  2. Generate a personal API token at /seller/integrations/manapool-api (full URL: https://manapool.com/seller/integrations/manapool-api).
  3. Either pass user_email and api_token on each call, or set MANAPOOL_EMAIL and MANAPOOL_API in Netlify.

Accepted aliases: email or username for the account email, and token or api_key for the API token. GET /mcp shows boolean diagnostics for whether the env vars are visible; it never prints secret values.

Use my ManaPool account (email: [EMAIL], token: [TOKEN]) to add these cards to my cart.

Treat your token like a password. Anyone who can read the chat transcript or your client's logs can use it to act as you on Mana Pool. Rotate it from the same Integrations page if it leaks.

Tools (22)

Every tool hits its upstream API live and declares a JSON outputSchema, returning its result as typed structuredContent (plus a text block for compatibility) so agents can read fields directly instead of parsing prose. Card-returning tools include image URLs so an agent can render card art inline. Tool groups marked BYOK require Mana Pool or Archidekt credentials from tool arguments or Netlify env vars.

ScryfallPublic
Live card data, rulings, prices, banlist.
  • search_cards
    Search MTG cards with Scryfall syntax (up to 50 results, full details, Commander legality, image URLs).
  • get_card_details
    Oracle text, mana cost, P/T, color identity, format legalities, artist, set, image.
  • check_commander_legality
    Banned / legal / not-legal status across all formats.
  • get_card_rulings
    Official Wizards of the Coast rulings.
  • get_card_price
    USD/EUR (regular + foil) and BRL via real-time FX.
  • get_banned_list
    Current Commander banlist.
  • validate_deck
    100-card size, singleton rule, Commander legality, color identity. Buckets results by issue class so unresolved names are not conflated with legality failures.
MoxfieldPublic
Real-deck references.
  • get_moxfield_deck
    Full decklist by URL or public ID, grouped by card type, with metadata.
  • get_moxfield_user_decks
    List a user's public decks, paginated.
  • search_moxfield_decks
    Search by commander name and format.
EDHRECPublic
Synergy and combos.
  • get_edhrec_recommendations
    High-synergy cards, top staples, inclusion percentages, salt, by category.
  • get_edhrec_combos
    Popular Commander combos by color identity (wu, ubr, wubrg, etc.).
Archidekt + CommanderSaltBYOK
Publish a list and audit its power level. Needs Archidekt credentials (Netlify env or per call).
  • run_commandersalt_audit
    Local-gate a 99 + 1 list, publish it to a public Archidekt URL, then return the CommanderSalt audit: power level, salt, synergy, and win-condition/interaction/consistency pillars.
Mana PoolBYOK
Buy cards. Bring your own Mana Pool account or configure Netlify env vars.
  • manapool_card_info
    Resolve card names to Mana Pool's catalog (canonical names, set printings, product IDs).
  • manapool_search_singles
    Look up singles inventory by Scryfall, TCGplayer, or MTGJSON IDs.
  • manapool_optimize_cart
    Build an optimized cart from a wishlist (synchronous). Picks listings across sellers to minimize price or shipping packages.
  • manapool_start_cart_optimization
    Start a durable background optimization job for large carts; returns a job_id.
  • manapool_get_cart_optimization
    Poll a background optimization job: running, completed, or failed.
  • manapool_create_pending_order
    Commit selected listings to a pending order (cart). Requires a shipping or tax address.
  • manapool_create_pending_order_from_cart_optimization
    Turn a completed optimization job straight into a pending order.
  • manapool_get_pending_order
    Inspect a pending order.
  • manapool_list_orders
    Past buyer orders on the user's Mana Pool account.