Magic: The Gathering MCP server. Card search, rules lookup, deck analysis, and Commander intelligence.
Provides 14 tools for AI assistants to answer questions about Magic cards, game rules, combos, synergies, and format meta via the Model Context Protocol.
Not just another Scryfall wrapper. mtg-oracle downloads card data, comprehensive rules, and combo databases locally into SQLite for fast offline queries, and ships with curated MTG knowledge (archetypes, format primers, commander strategies, mana base guidelines) that makes LLMs genuinely competent at Magic.
npm install -g mtg-oracleOr run directly with npx:
npx mtg-oracleAdd to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"mtg-oracle": {
"command": "npx",
"args": ["-y", "mtg-oracle"]
}
}
}Or if installed globally:
{
"mcpServers": {
"mtg-oracle": {
"command": "mtg-oracle"
}
}
}claude mcp add mtg-oracle -- npx -y mtg-oracleOn first run, mtg-oracle downloads card data from Scryfall and rules data from Academy Ruins. Data is stored in ~/.mtg-oracle/ and updated automatically on subsequent runs. No card data is bundled in the npm package.
| Tool | Description |
|---|---|
search_cards |
Search cards by name, type, color, mana cost, rarity, set, format, or keyword. Full-text search across names, type lines, and oracle text. |
get_card |
Get complete details for a specific card: oracle text, mana cost, type, P/T, rulings, and legality. Fuzzy name matching. |
get_rulings |
Get official Wizards of the Coast rulings for a card (interactions, edge cases, clarifications). |
check_legality |
Check format legality for one or more cards (up to 50). Covers Commander, Modern, Standard, Legacy, Vintage, and more. |
search_by_mechanic |
Find cards with a specific keyword or mechanic (Flying, Trample, Cascade, etc.). Optionally includes the keyword's rules definition. |
get_prices |
Look up current market prices for one or more cards (up to 50). Returns USD, USD Foil, EUR, and MTGO tix prices from Scryfall. |
| Tool | Description |
|---|---|
analyze_deck |
Analyze a deck list (plain text or MTGO XML). Returns mana curve, color distribution, type breakdown, mana base analysis, and format legality check. |
| Tool | Description |
|---|---|
lookup_rule |
Look up Comprehensive Rules by section number (e.g., "702.1") or search by text. Returns rule text with subsections and parent context. |
get_glossary |
Look up game terminology in the official glossary ("permanent", "spell", "stack", "priority", etc.). |
get_keyword |
Get the official rules definition for keyword abilities (Flying, Deathtouch, Equip, etc.). |
| Tool | Description |
|---|---|
analyze_commander |
Analyze a legendary creature as a Commander: strategies, archetypes, recommended card categories for deckbuilding. |
find_combos |
Find known infinite combos from Commander Spellbook. Search by card name(s) or color identity. Returns steps, prerequisites, and results. |
find_synergies |
Find synergy categories (tokens, sacrifice, counters, etc.) and sample cards that work well with a specific card. |
get_format_staples |
Get staple cards and popular archetypes for any format. Optionally filter by archetype. |
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Run locally
npm start- Card data provided by Scryfall. This project is not produced by or endorsed by Scryfall.
- Combo data from Commander Spellbook.
- Rules data from Academy Ruins.
This is unofficial Fan Content permitted under the Fan Content Policy. Not approved/endorsed by Wizards of the Coast. Portions of the materials used are property of Wizards of the Coast. All rights reserved.
MIT