mtga-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MTGA_MCP_DATA_DIR | No | Override the data directory where the SQLite database is stored. | ~/.local/share/mtga-mcp |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_cardsA | Search cards by name/colors/rarity/set/type. colors is WUBRG letters; set_code is the 3-letter set. Set owned_only=true to restrict to cards the player owns. |
| owned_cardsA | List cards the player owns (owned count >= 1), with the same optional filters as search_cards. |
| missing_from_setA | Cards in a set the player hasn't completed a playset (4) of. Returns a 'needed' count per card. Optional rarity filter. |
| collection_summaryA | Collection overview: distinct owned, total copies, per-rarity breakdown, and wildcard/currency balances. |
| query_sqlA | Run an ad-hoc read-only SELECT against the collection database. Tables: cards, collection(grp_id,count), wildcards(kind,count). Join collection on cards.grp_id for owned counts. |
| import_deckA | Import a decklist and store it for buildability analysis. Provide exactly one of |
| list_decksA | List stored decks with format, best_of, tier and source. |
| deck_gapA | Cards and wildcards needed to complete a deck (by id or name), given your collection. Basics are excluded; copies are capped at a playset (4). |
| craft_priorityA | Across all stored decks (optionally one format), rank cards to craft by how many decks they would unlock, then by how many decks need them. |
| best_buildable_deckA | The best deck you could build given your cards and the meta. Ranks stored decks by meta strength x buildability. Filter by best_of (1 or 3) and format; max_wildcards hides decks needing more than that many wildcards. |
| delete_deckA | Delete a stored deck by id or name. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools have distinct purposes, but search_cards with owned_only=true overlaps with owned_cards. Otherwise each tool targets a clear, separate function (searching, collection summary, deck import, gap analysis, etc.).
Names are readable and exclusively snake_case, but conventions vary: some are verb_noun (search_cards, import_deck, list_decks, delete_deck) while others are noun or adjective phrases (owned_cards, collection_summary, deck_gap, best_buildable_deck). No consistent pattern.
11 tools is well-scoped for the MTGA collection and deck analysis domain. Each tool fills a distinct role without unnecessary bloat, and the count feels appropriate for the server's purpose.
The set covers card search, collection overview, deck import/list/delete, and deck-building assistance, but lacks a tool to view a stored deck's full card list. This is a notable gap for analysis and verification workflows, though query_sql can partially address collection data if needed.