A Swift implementation of Magic: The Gathering (MTG) Model Context Protocol (MCP) servers, providing deck management and card search capabilities
A Swift implementation of Magic: The Gathering (MTG) Model Context Protocol (MCP) servers, providing deck management and card search capabilities through the MCP protocol. That is what the mtg mcp mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
mtg-mcp) - Game state management including deck loading, card drawing, mulligans, and sideboarding 2. Scryfall API Server (scryfall-mcp) - Card information retrieval using the Scryfall APIThe server publishes 14 tools. What each one is for:
upload_deck — Load a deck listdraw_card — Draw cards from deckview_hand — Get current hand contentsview_deck_stats — Get deck statisticsplay_card — Play a card from handmulligan — Mulligan to new hand sizesideboard_swap — Swap cards with sideboardreset_game — Reset game statelookup_rule — Look up specific MTG rulesearch_rules — Search MTG rulesexplain_concept — Get comprehensive rule explanationssearch_cards — Search for cardsSetup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.
This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Mtg MCP's toolset — upload_deck, draw_card, view_hand and 11 more — is a fair guide to whether it matches your workflow. It is maintained by ericraio; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| upload_deck | Load a deck list |
| draw_card | Draw cards from deck |
| view_hand | Get current hand contents |
| view_deck_stats | Get deck statistics |
| play_card | Play a card from hand |
| mulligan | Mulligan to new hand size |
| sideboard_swap | Swap cards with sideboard |
| reset_game | Reset game state |
| lookup_rule | Look up specific MTG rule |
| search_rules | Search MTG rules |
| explain_concept | Get comprehensive rule explanations |
| search_cards | Search for cards |
| get_random_card | Get random card |
| lookup_card_exact | Find card by exact name |
{
"mcpServers": {
"mtg-deck-manager": {
"command": "swift",
"args": ["run", "mtg-mcp", "--transport", "stdio"],
"cwd": "/path/to/mtg-mcp"
},
"scryfall-api": {
"command": "swift",
"args": ["run", "scryfall-mcp", "--transport", "stdio"],
"cwd": "/path/to/mtg-mcp"
},
"rules-splitter": {
"command": "swift",
"args": ["run", "rules-splitter"],
"cwd": "/path/to/mtg-mcp"
}
}
}Configuration as documented by the project. Restart the client after saving.
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.