The symmetry is what makes it quick to use: whichever handle you already have — an ID out of a search result or an exact name off the card — there is a price tool that takes it, and the rulings tool accepts the Oracle ID as well as the Scryfall one. search_cards returning only the basic fields is a sensible default that keeps a broad search cheap and leaves the full record to the get tools. One behaviour stated in the material: when several cards share an exact name, Scryfall returns one of them rather than all of them.
A read-only Scryfall server covering card search, retrieval by ID or exact name, official rulings, prices, and a random card.
- search_cards by text query, including oracle-text searches, returning name, set, collector number and ID for each match
- Retrieval by Scryfall ID — a 36-character UUID — or by exact English name, returning the card JSON
- get_rulings, taking a Scryfall ID or an Oracle ID and returning the official rulings, each with a published_at date and a comment
- Prices addressed either by ID or by exact name, returning usd, usd_foil, eur and tix
- random_card, returning a random Magic card
Nothing — no account, no key.
One command — npx scryfall-mcp-server
