Scryfall MCP Server
Enables Claude to search and retrieve Magic: The Gathering card details, prices, set information, and random cards from Scryfall's database through natural language.
README
Scryfall MCP Server
A Model Context Protocol (MCP) server that brings Magic: The Gathering card data directly into Claude Desktop. Ask Claude about any Magic card, and it will provide detailed information from Scryfall's comprehensive database.
What Can It Do?
- Search for Cards - Find cards by name, type, color, mana cost, or any game characteristic you can think of
- Get Card Details - View complete card information including prices, format legalities, and high-quality images
- Explore Sets - Learn about Magic sets, their release dates, and what cards they contain
- Random Cards - Discover random cards for deck inspiration or just for fun
- Smart Caching - Previously viewed cards load instantly from a local cache
- Resource Browser - Access your recently viewed cards through Claude's resource system
Installation
Prerequisites
You'll need Node.js and npm installed on your computer. npm is a tool that helps install and manage the software this server needs to run.
To install Node.js and npm:
- On Mac:
- Download from nodejs.org and run the installer, or
- If you have Homebrew:
brew install node
- On Windows:
- Download from nodejs.org and run the installer
To verify it's installed, open a terminal and type: npm --version
Installation Steps
-
Clone or download this repository
-
Install dependencies:
npm install -
Build the server:
npm run build
Configuration
For Claude Desktop
-
Locate your Claude Desktop config file:
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Add the server configuration:
{ "mcpServers": { "scryfall": { "command": "node", "args": ["/absolute/path/to/your/project/dist/index.js"] } } }Replace
/absolute/path/to/your/projectwith the actual path to this project directory. -
Restart Claude Desktop
How to Use
Once you've installed and configured the server, you can simply ask Claude about Magic cards in natural language. Here are some examples:
Searching for Cards
- "Search for Lightning Bolt"
- "Find all red creatures with power 4 or greater"
- "Show me cards with 'draw a card' in their text"
- "Find blue instants that cost 2 mana"
Getting Card Information
- "Tell me about Black Lotus"
- "What are the format legalities for Sol Ring?"
- "Show me the current price of Jace, the Mind Sculptor"
- "Get details for Ragavan, Nimble Pilferer"
Exploring Sets
- "What's in the Dominaria United set?"
- "Tell me about set code MOM"
- "Show me information about the latest set"
Random Discovery
- "Show me a random card"
- "Give me 3 random creatures"
- "Surprise me with 5 random cards"
Accessing Recently Viewed Cards
Cards you've already looked up are cached locally and appear in Claude's resource browser, making them quick to access again without additional searches.
Technical Details
Available Tools
The server provides these tools that Claude can use:
search_cards - Search for cards using Scryfall's powerful search syntax
- Supports searching by name, type, color, mana cost, card text, set, rarity, and more
- Returns up to 10 results by default (configurable)
get_card_details - Get complete information about a specific card
- Includes prices, legalities, images, and all card attributes
- Uses smart caching to speed up repeated lookups
get_set_info - Get information about a Magic set
- Requires the set code (like "dmu" for Dominaria United or "mom" for March of the Machine)
get_random_card - Get random cards
- Can request multiple random cards at once
- Great for deck inspiration or exploring the game
Resources Feature
The server implements MCP resources, which means:
- Cards you look up are cached locally for 1 hour
- Recently viewed cards appear in Claude's resource browser
- Cached cards load instantly without making new API requests
- The cache automatically cleans up old entries
Development
Running in Development Mode
npm run dev
Building
npm run build
Project Structure
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript output
├── package.json # Node.js dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
Performance & Limits
Smart Caching
To improve speed and reduce unnecessary API calls, this server caches card information:
- Cached cards load instantly
- Cache expires after 1 hour
- Up to 100 cards stored in memory at once
Scryfall API Rate Limits
This server uses Scryfall's free API, which allows:
- Up to 100 requests per second
- No API key required
The server automatically handles errors and rate limits gracefully.
Troubleshooting
The server isn't showing up in Claude Desktop
-
Check your configuration file - Make sure the path is correct and the JSON syntax is valid
- On Mac:
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json - On Windows: Open the file in Notepad and verify it looks correct
- On Mac:
-
Verify the path is absolute - The path must be complete (like
/Users/yourname/projects/ScryfallMCP/dist/index.js), not relative (like./dist/index.js) -
Make sure it built successfully:
npm run build -
Restart Claude Desktop completely - Quit the app entirely and reopen it
Claude says "Unknown tool" or the tools don't work
- This usually means Claude Desktop didn't reload the configuration
- Try restarting Claude Desktop again
- Check that the
dist/index.jsfile exists after runningnpm run build
API or connection errors
- Check your internet connection - The server needs to reach Scryfall's API
- Visit https://scryfall.com to make sure their service is up
- Look at the console output when running
npm run devto see detailed error messages
Build or installation problems
- "npm: command not found" - You need to install Node.js and npm (see Prerequisites above)
- Build failures - Try deleting the
node_modulesfolder and runningnpm installagain - Permission errors - Make sure you have permission to read and execute files in the project folder
Contributing
Want to improve this server? Contributions are welcome!
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request with a clear description of what you've added and why
License
This project is licensed under the MIT License.
Acknowledgments
- Scryfall for providing the excellent Magic: The Gathering API
- Model Context Protocol for the MCP specification
- Anthropic for Claude and MCP support
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.