A Model Context Protocol (MCP) server for interacting with the Scryfall API. It provides tools to look up Magic: The Gathering card details, card rulings, and price information.
- search_cards
Perform a text-based search on Scryfall. Returns a list of matching cards. - get_card_by_id
Retrieve a card directly via its Scryfall UUID. - get_card_by_name
Retrieve a card by exact English name. - random_card
Get a random card from the entire Scryfall database. - get_rulings
Retrieve official rulings for a card, which may clarify card interactions or rules. - get_prices_by_id
Retrieve current pricing information (USD, USD foil, EUR, TIX) for a given card by Scryfall ID. - get_prices_by_name
Retrieve current pricing information (USD, USD foil, EUR, TIX) for a given card by exact name.
The server can be run in two modes:
- Standard stdio mode (default)
- Server-Sent Events (SSE) mode with HTTP endpoints
If you have Node.js installed locally:
# Stdio mode
npx scryfall-mcp-server
# SSE mode
npx scryfall-mcp-server --sse
Your application or environment (like Claude Desktop) can communicate directly via stdio with the server.
When running in SSE mode (with --sse
), you can connect using the MCP CLI:
npx @wong2/mcp-cli --sse http://localhost:3000/sse
The server will be available at:
- SSE endpoint:
http://localhost:3000/sse
- Message endpoint:
http://localhost:3000/messages
Example snippet for stdio mode:
{
"mcpServers": {
"scryfall": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/scryfall"]
}
}
}
Or with npx:
{
"mcpServers": {
"scryfall": {
"command": "npx",
"args": ["scryfall-mcp-server"]
}
}
}
docker build -t mcp/scryfall .
Then you can run in stdio mode:
docker run -i --rm mcp/scryfall
Or in SSE mode:
docker run -i --rm -p 3000:3000 mcp/scryfall --sse
Licensed under the MIT License.