mtg-oracle
<!-- mcp-name: io.github.gregario/mtg-oracle -->
# mtg-oracle
[](https://www.npmjs.com/package/mtg-oracle)
[](https://www.npmjs.com/package/mtg-oracle)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org)
[](https://modelcontextprotocol.io)
[](https://glama.ai/mcp/servers/gregario/mtg-oracle)
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](https://modelcontextprotocol.io).
**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
```bash
npm install -g mtg-oracle
```
Or run directly with npx:
```bash
npx mtg-oracle
```
## Claude Desktop Configuration
Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"mtg-oracle": {
"command": "npx",
"args": ["-y", "mtg-oracle"]
}
}
}
```
Or if installed globally:
```json
{
"mcpServers": {
"mtg-oracle": {
"command": "mtg-oracle"
}
}
}
```
## Claude Code Configuration
```bash
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
```bash
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Run locally
npm start
```
## Attribution
- Card data provided by [Scryfall](https://scryfall.com). This project is not produced by or endorsed by Scryfall.
- Combo data from [Commander Spellbook](https://commanderspellbook.com).
- Rules data from [Academy Ruins](https://yawgatog.com/resources/magic-rules/).
## Legal
This is unofficial Fan Content permitted under the [Fan Content Policy](https://company.wizards.com/en/legal/fancontentpolicy). 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
TDQS
Scored across 14 tools
Most tools have distinct targets, but search_by_mechanic overlaps with search_cards since the latter supports keyword-based search. get_keyword and get_glossary are explicitly differentiated, and lookups like rulings vs. card details are well separated.
All tool names follow a consistent verb_noun snake_case pattern (get_, search_, analyze_, find_, check_, lookup_). Even multi-word objects like get_format_staples are clear and predictable.
14 tools is well-scoped for a Magic: The Gathering oracle service. Each tool covers a meaningful aspect (card data, pricing, legality, rulings, deck/commander analysis, combos), and none feels superfluous.
The surface covers all major info needs: card lookup and search, prices, legality, rulings, comprehensive rules, glossary, deck analysis, commander analysis, combos, synergies, and format staples. There are no obvious dead ends for common MTG questions.