mtg-oracle
v0.2.0
Published
Magic: The Gathering MCP server with card search, deck analysis, and format intelligence
Maintainers
Readme
mtg-oracle
Magic: The Gathering MCP server. Card search, rules lookup, deck analysis, and Commander intelligence.
Provides 12 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.
Installation
npm install -g mtg-oracleOr run directly with npx:
npx mtg-oracleClaude Desktop Configuration
Add 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 Code Configuration
claude mcp add mtg-oracle -- npx -y mtg-oracleData
On 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.
Tools
Card Tools
| 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. |
Rules Tools
| 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.). |
Commander Tools
| 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. |
Development
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Run locally
npm startAttribution
- 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.
Legal
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.
License
MIT
