Skip to main content
Glama

mtg-oracle

npm version npm downloads License: MIT Node.js MCP

mtg-oracle MCP server gregario/mtg-oracle MCP server

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.

Installation

npm install -g mtg-oracle

Or run directly with npx:

npx mtg-oracle

Claude 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-oracle

Data

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.

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.

Deck Tools

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.

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 start

Attribution

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gregario/mtg-oracle'

If you have feedback or need assistance with the MCP directory API, please join our Discord server