mystic-tutor-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mystic-tutor-mcpWhat does Rhystic Study do and how much is it?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What can it do?
Tool | Description |
| Look up any card by name (fuzzy matching). Returns mana cost, oracle text, prices, legalities, and more. |
| Full Scryfall search syntax — find cards by type, color, CMC, keywords, set, etc. |
| Official WotC rulings for any card. |
| Smart synergy finder — analyzes a card's mechanics and finds complementary cards using Scryfall's community tags. |
| Find similar cards by function, stats, type, or overall characteristics. |
Related MCP server: Scryfall MCP Server
Quick Start
Claude Code
claude mcp add --transport stdio mystic-tutor -- npx mystic-tutor-mcpThat's it. Restart Claude Code and start asking about cards.
Claude Desktop
Add to your ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mystic-tutor": {
"command": "npx",
"args": ["-y", "mystic-tutor-mcp"]
}
}
}From source
git clone https://github.com/Abbabon/mystic-tutor-mcp.git
cd mystic-tutor-mcp
npm install && npm run build && npm link
claude mcp add --transport stdio mystic-tutor -- npx mystic-tutor-mcpExamples
Card lookup
You: What does Rhystic Study do and how much is it?
## Rhystic Study
Mana Cost: {2}{U} | CMC: 3
Type: Enchantment
Oracle Text: Whenever an opponent casts a spell, you may draw a card
unless that player pays {1}.
Prices: USD $6.50 | Foil $7.99
Legalities: Commander: legal | Legacy: legal | Modern: not_legal
EDHREC Rank: 3Scryfall search
You: Find me cheap green creatures with flash that are legal in modern
The tool runs: search_cards with query t:creature c:green keyword:flash f:modern sorted by price.
Synergies
You: What synergizes with Doubling Season in Sultai colors?
The tool detects token and counter themes, then searches for:
otag:synergy-tokens ci<=BUG f:commanderotag:counters-matter ci<=BUG f:commander
Returns top synergy cards grouped by theme.
Similar cards
You: What cards are similar to Lightning Bolt?
The tool decomposes Lightning Bolt's mechanics (o:"deals" o:"damage", t:instant, mv=1) and finds comparable burn spells.
Rulings
You: What are the rulings on Panharmonicon?
Returns the card's oracle text plus all official WotC rulings with dates.
Price check a product
You: How much are the cards in [this Secret Lair] worth?
Claude fetches the product page, extracts card names, then calls get_card for each to compare total card value against the product price.
How it works
Claude ←→ stdio ←→ Mystic Tutor MCP ←→ Scryfall APITransport: stdio (standard MCP protocol)
Data source: Scryfall API (free, no API key needed)
Rate limiting: 100ms minimum between Scryfall requests (per their guidelines)
Synergy engine: Uses Scryfall's
otag:community synergy tags + oracle text pattern analysisResponse format: Structured text optimized for LLM consumption
Requirements
Node.js 18+
An MCP-compatible client (Claude Code, Claude Desktop, or any MCP client)
Roadmap
Deck parsing and analysis (mana curve, color distribution)
Bundled comprehensive rules (
lookup_rule,search_rules)EDHREC integration for commander recommendations
Price comparison across printings
In-memory caching for repeated lookups
Credits
Card data powered by Scryfall
Built with the Model Context Protocol SDK
Inspired by pato/mtg-mcp and ericraio/mtg-mcp
Header art: Mystic Tutor by Lindsey Look
License
MIT
Available Tools
5 toolsfind_similarA
Find cards similar to a given Magic: The Gathering card. Can match by overall characteristics, function (effects), stats (CMC/power/toughness), or type (creature types, card types).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of similar cards to return (1-25) | |
| format | No | Format legality filter | commander |
| criteria | No | Similarity criteria: 'overall' (balanced), 'function' (same effects), 'stats' (same CMC/P/T), 'type' (same types) | overall |
| card_name | Yes | Card name to find similar cards for | |
| color_identity | No | Color identity constraint (e.g., 'wubrg', 'bg') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does convey the core matching behavior by listing criteria such as function, stats, and type, which is useful. It does not mention output details, exact-match requirements, or any limitations, leaving some behavior underspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: two sentences, with the core purpose in the first sentence and useful elaboration in the second. It focuses on what an agent needs to know without redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, one enum, and no output schema, the description covers the main selection and invocation concerns: input is a card name, and matching can be tuned via criteria. It could be more complete by stating what the returned list resembles, but the core usage context is adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all five parameters. The description adds value by explaining the criteria enum values in plain terms, e.g., 'function (effects)' and 'stats (CMC/power/toughness)', making the enum semantics clearer than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Find cards similar to a given Magic: The Gathering card.' It also enumerates the matching dimensions, which helps differentiate it from generic card retrieval. It doesn't explicitly name sibling tools, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when a user wants similar-card recommendations rather than exact card lookup, rulings, or synergy analysis. However, it does not explicitly contrast with siblings like search_cards or find_synergies, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_synergiesA
Find cards that synergize with a given Magic: The Gathering card. Analyzes the card's mechanics and searches for complementary cards using Scryfall's community synergy tags.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of synergy cards to return per theme (1-25) | |
| format | No | Format legality filter (e.g., 'commander', 'modern') | commander |
| card_name | Yes | Card name to find synergies for | |
| color_identity | No | Color identity constraint (e.g., 'wubrg', 'bg', 'rg'). Limits results to cards within these colors. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that this is a read-style lookup based on Scryfall community synergy tags, which is useful. However, it does not mention limitations such as empty results for obscure cards, dependency on external tag quality, or what happens when a card is not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise, front-loaded sentences. The first states the core purpose, and the second adds valuable method context without repeating schema details or adding filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition and schema together are sufficient for basic invocation: card_name is required, and limit, format, and color_identity have clear schema descriptions. However, there is no output schema and no description of the return structure beyond the limit parameter's 'per theme' hint, leaving some post-call expectations implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has clear semantic documentation including defaults, allowed ranges, and examples. The description adds no parameter-level meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Find cards that synergize with a given Magic: The Gathering card.' The added detail about analyzing mechanics and using Scryfall's community synergy tags clearly distinguishes it from siblings like search_cards or find_similar, which target general search or similarity rather than synergy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is clear: when an agent has a specific MTG card and needs complementary/synergy cards. It does not explicitly name alternatives or state when not to use it, but the context is strong enough to guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cardA
Look up a Magic: The Gathering card by name. Returns mana cost, oracle text, prices, legalities, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Card name (fuzzy matching supported) | |
| exact | No | Use exact name match instead of fuzzy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It usefully lists return contents (mana cost, oracle text, prices, legalities), but it does not clarify whether fuzzy matching can return multiple cards, what 'more' includes, or any API-specific behaviors. The description gives some value but omits important behavioral nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core action and resource, then lists key return values. Every word earns its place with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only 2 parameters and no output schema, so the description is the primary source of return information. It lists several key fields but ends with 'and more', leaving the full return shape unspecified. It also does not explain behavior when multiple cards match, which is relevant given the fuzzy-matching parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters 'name' and 'exact' are already fully explained in their property descriptions. The tool description only repeats 'by name' and adds no new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Look up' and the resource 'Magic: The Gathering card by name', and lists the key data returned. It is specific enough to be distinguished from siblings like search_cards, but it does not explicitly name the sibling it is not, so differentiation relies on context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by name' implies when to use the tool (when you know a card name), but it provides no explicit guidance about when to prefer search_cards, get_card_rulings, or other siblings. There is no when-not or condition-based routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_card_rulingsA
Get official WotC rulings for a Magic: The Gathering card. Returns the card's oracle text plus all published rulings.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Card name to get rulings for (fuzzy matching supported) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It reveals the return content ('oracle text plus all published rulings') and the read-only nature through 'Returns'. It does not cover error handling or auth, but for a simple lookup tool these omissions are minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first states the action and the second states the return value. Information is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup with no output schema, the description adequately tells an agent what will be returned. It could mention what happens for unknown card names or cards without rulings, but these are edge cases and the core usage is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'name' parameter is already fully documented in the input schema. The tool description does not add extra parameter meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Get official WotC rulings') and resource ('a Magic: The Gathering card'), making the tool's purpose immediately clear. The sibling tools like get_card and search_cards are visibly different because this one is exclusively about rulings and oracle text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear that this tool is for retrieving rulings and oracle text, so when-to-use is evident. It does not explicitly name alternative tools or state when not to use it, but the context is strong enough to avoid confusion among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cardsB
Search for Magic: The Gathering cards using Scryfall syntax. Examples: 't:creature ci:ug mv<=3', 'o:"draw cards" c:blue', 'set:mkm r:mythic'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of cards to return (1-25) | |
| order | No | Sort order for results | edhrec |
| query | Yes | Scryfall search query (e.g., 't:creature ci:ug mv<=3 keyword:flash') | |
| format_legality | No | Filter to cards legal in this format (e.g., 'commander', 'modern', 'standard') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of explaining behavior. It does disclose the key behavioral trait of accepting Scryfall syntax and provides concrete examples. However, it does not describe what the result list contains, error behavior for invalid queries, or whether this is an external read-only API call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences: the first states the purpose and the second packs in high-signal examples. There is no repetition of schema details, no filler, and no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the search behavior and query syntax well, which is adequate for a straightforward search tool. Yet with no output schema, no annotations, and no sibling differentiation, the agent still lacks full context about expected return shape and when to prefer this tool over related ones.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by offering three distinct Scryfall query examples involving type, color identity, mana value, oracle text, set, and rarity, which go beyond the schema's single example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Search for Magic: The Gathering cards using Scryfall syntax.' It names a specific verb and resource, and the examples reinforce the purpose. However, it does not differentiate itself from sibling tools like find_synergies or find_similar, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus get_card, find_synergies, or find_similar. It does not mention exclusions, alternatives, or conditions that would help an agent route between the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
find_similar - First observed
find_synergies - First observed
get_card - First observed
get_card_rulings - First observed
search_cards
TDQS
Scored across 5 tools
Each tool has a distinct primary purpose: exact lookup, search syntax, rulings, synergies, and similarity search. However, find_synergies and find_similar both return related cards and could potentially be confused when an agent is looking for cards with related effects.
Tool names mostly follow a verb_noun pattern (get_card, search_cards, get_card_rulings, find_synergies). 'find_similar' deviates slightly by using an adjective instead of a noun, but the naming is still clear and predictable overall.
Five tools is a well-scoped size for an MTG card research assistant. Each tool covers a distinct part of the card discovery workflow without redundancy or bloat.
The tool surface covers the full card research lifecycle: finding a card, searching by complex criteria, retrieving official rulings, and exploring related cards through synergies or similarity. There are no obvious dead ends for common MTG lookup and deck-building research tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Live TCG card and decklist prices for AI assistants. 22+ games, no account, ready-to-buy links.
MTG market data: search 114K+ cards, price signals, AI analysis. Free tier available.
Scryfall MCP — Magic: The Gathering card database.
Magic: The Gathering card search, rules, rulings, deck analysis, brackets, and combo detection.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables interaction with the Scryfall API, allowing users to search for Magic: The Gathering card details, retrieve card rulings, and access pricing information using the Model Context Protocol.711,43834MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search and retrieve Magic: The Gathering card data through the Scryfall API. Supports card searches, random card generation, autocomplete, set listings, and rulings lookup.221MIT
- AlicenseNot gradedqualityDmaintenanceEnables fuzzy lookup of Magic: The Gathering cards by name using the Scryfall API, returning card details including type, oracle text, mana value, and images.MIT
- AlicenseAqualityCmaintenanceEnables Claude to search and retrieve Magic: The Gathering card details, prices, set information, and random cards from Scryfall's database through natural language.42MIT