home / mcp / mtg deck manager mcp server

MTG Deck Manager MCP Server

Model Context Protocol (MCP) servers for searching for cards with the Scryfall API, and managing the LLM's decklist and hand when playing

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "artillect-mtg-mcp-servers": {
      "command": "C:\\Path\\To\\Your\\Project\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\Path\\To\\Your\\Project\\mtg_server.py"
      ]
    }
  }
}

You can run two MCP servers locally to manage MTG decks and fetch card data directly through Claude. This setup lets you upload decks, draw cards, view your hand, and search card information via Scryfall, all through a programmable MCP interface.

How to use

After you have the servers running, you interact with them by triggering their MCP endpoints through your Claude client. You can upload an MTG deck list, draw cards from your deck, view your current hand, search for card information via Scryfall, or request random cards. Each server exposes a distinct capability set and works together to streamline deck management and card data retrieval.

How to install

Prerequisites you need before starting:

- Python 3.8+ installed on your system

- Git to clone the project

- A Python virtual environment tool available (venv)

Follow these steps to install and run the MCP servers locally.

# 1) Clone the project repository
git clone https://github.com/artillect/mtg-deck-mcp-server.git
cd mtg-deck-mcp-server

# 2) Create and activate a virtual environment
python -m venv .venv
.venv\Scripts\activate

# 3) Install required Python dependencies
pip install fastmcp httpx

Configuration for Claude Desktop Client

Configure Claude to run two MCP servers locally by pointing to your Python environment and the corresponding server entry points. Use the paths that match your machine and project layout.

json
{
  "mcp_servers": {
    "mtg-server": {
      "command": "C:\\Path\\To\\Your\\Project\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\Path\\To\\Your\\Project\\mtg_server.py"
      ]
    },
    "scryfall": {
      "command": "C:\\Path\\To\\Your\\Project\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\Path\\To\\Your\\Project\\scryfall_server.py"
      ]
    }
  }
}

Notes

- The Scryfall server may occasionally crash due to ongoing development. - Ensure both servers are running when you want to use their respective features.

Available tools

upload_deck

Upload a Magic: The Gathering deck list so you can manage it within Claude and perform subsequent actions like drawing cards and mulligans.

draw_card

Draw one or more cards from your uploaded deck to simulate gameplay and update your current hand.

view_hand

View the cards currently in your hand, including any visible mulligan or sideboarding states.

mulligan

Perform mulligans to redraw a starting hand according to standard MTG mulligan rules.

sideboard

Manage and apply sideboard changes to your deck setup for specific matchups.

search_card

Search for card information using the Scryfall integration to retrieve card details, stats, and images.

random_card

Get a random card lookup from the Scryfall-backed data set for inspiration or testing.

lookup_card

Look up specific card information by name to retrieve exact card attributes and rulings.