2026-10-12 · v1.4.0
Moved to the MCP 2 SDK, with nothing to relearn
Mystic Forge now runs on version 2 of the Model Context Protocol SDK, the
library that speaks to Claude and every other client. All 46 tools keep
their names, descriptions and inputs, and every answer and error message
reads the same as before; this is the groundwork that keeps the server
current with the protocol as clients adopt newer revisions. Personal
connector URLs and existing watchlist passphrases work unchanged, and
each request still stands on its own, so there is no session to expire
mid-conversation.
2026-09-15 · v1.3.2
The board paints first and fills in after
A board now sends its title, theme and layout the instant you ask for
it, then the cards arrive as the prices are read — so the page is
on screen in a blink even when the server is cold, and a slow board no
longer holds up Claude's tool calls while it renders. The reading itself
got much cheaper too: each card's price history is fetched once instead
of three times, the newest price at each shop is found by lookup rather
than by reading every price on record, and the index every board reads
from now carries the price itself, so a card's history is one run of
pages rather than a scatter of them. Also fixes a mistake in 1.3.1: the
index it added to answer the “prices through” line could
tempt the database into reading every price at a shop when the board
was set to that single market. That line is now answered from the
board's own cards, and the index is gone.
watchlist_view
watchlist_report
2026-09-15 · v1.3.1
Boards open in a blink again
Every board took three to four seconds to open, and a little longer each
day. The line at the bottom that says which date the prices run through
was to blame: answering it meant reading every price on record for the
shops on the board — a million and a half rows, and growing with
each nightly ingest. The database now keeps an index shaped for exactly
that question, and the same line resolves in three lookups. A side effect
worth having: link previews in Slack, Discord and the like had started
giving up before the page arrived and falling back to a bare domain name;
they get the board's title and banner again.
watchlist_view
watchlist_report
2026-09-15 · v1.3.0
Every market at once, targets that move, and lists that travel
The watchlist board now compares all four price sources. The
prices dropdown opens on All markets, where each card shows
the cheapest of TCGplayer, Card Kingdom and Mana Pool and names which one
it is; pick a single market to see everything at that shop instead
(Cardmarket stays in euro and is never mixed into the cheapest). A card
can also be pinned to one market for good, from its own modal, when that
is the only place you would buy it — targets, the board and the
push alerts all judge the same basis, so a lit card and a notification
never disagree.
Targets learned to move. Besides a fixed number, a card can
follow the historic low: the target sits at the lowest price
recorded so far (or a chosen percentage under it) and shifts whenever a
new low is set, so a buy window opens only on a genuine dip. The modal
offers gg.deals-style shortcuts — beat the current price, match the
low, ten, twenty or thirty percent under either — and the same
grammar works everywhere a target is typed: @ low,
@ low-10%, @ -20% on a line, or the new
target_rule and shop inputs on
watchlist_add and watchlist_bulk_add.
The card modal was rebuilt around what you do there: the card face
beside four figures (now, lowest, target, thirty-day change), a market
row that flips the chart between shops, the target editor, hop-outs
that now include Card Kingdom and Mana Pool, and the daily table folded
away under Recent prices. Remove sits far left, Save and Bought
far right. The BUY/WAIT banner above the board is gone.
Lists travel. Export writes plain 1 Card Name lines
for everything, for the cards at target, or for a hand-picked set, and
opens them in TCGplayer Mass Entry or the Card Kingdom deck builder, or
copies them for Mana Pool. Import takes the same lines back, with
targets after @ and an optional pin to the printing each
line names. And a list no longer needs an assistant to exist:
/mtg/w/new forges one by hand from a name and a
pasted list, and hands over the passphrase once.
watchlist_add
watchlist_bulk_add
watchlist_list
watchlist_report
price_history
2026-08-11 · v1.2.3
The MTGStocks badge, resolved by the people reading the page
MTGStocks has no URL you can build from a card's name — only
/prints/<id>, naming one specific printing — and
they refuse requests from cloud hosts, which is every request this server
makes. So the badge has never appeared, on any card. Your browser is not
a cloud host, so it does the lookup instead: open a card and it finds
that printing's id, links it, and reports the id back, which means the
next person to open that card gets the link already rendered, even if
their own network is refused. A pinned printing links to that exact
printing rather than the card's default one. Nobody is taken at their
word: a reported id has to name the card it claims to be, and where two
browsers disagree the one more of them agree on wins.
watchlist_view
watchlist_report
2026-08-11 · v1.2.2
Mana Pool prices, and a year of history instead of 90 days
Mana Pool joins TCGplayer, Card Kingdom, and Cardmarket, so every
watched card carries a fourth price. Watchlists also keep more history
than MTGJSON hands out: prices now land in a store the server maintains
itself, at daily resolution for 120 days and weekly averages kept
indefinitely after that. A list you have held for a year shows a year
rather than the rolling ~90 days MTGJSON still has. Adding a card used
to mean waiting while a 1.4 GB price file streamed end to end just
to find that card's rows; it now reads the store by index, so the
history is there before the page finishes loading. The MTGStocks
badge on a shared list points at a real page now instead of a 404.
watchlist_add
watchlist_bulk_add
watchlist_view
watchlist_history
watchlist_report
price_history
2026-08-09 · v1.1.0
The Comprehensive Rules, on tap
Rules questions no longer run on memory. rules_get returns
exact Comprehensive Rules text for any rule number
(702.2b) or keyword (deathtouch) —
subrules, glossary entry, and the rules it cites — and
rules_search ranks full-text matches across all 3,300+
rules when you don't know the number. Every answer carries the CR's
effective date, and the server refreshes itself when Wizards publishes
a new set's rules, so layers, state-based actions, and replacement
effects come from the rulebook rather than from vibes.
rules_get
rules_search
2026-08-08 · v1.1.0
Goldfish — simulate a deck before you build it
Deal opening hands and play them out thousands of times to measure how fast
and how consistently a deck does its thing. goldfish_run gives
seeded Monte Carlo stats with 95% confidence intervals,
goldfish_ab runs a paired swap comparison and flags whether a
difference is real or lucky noise, and goldfish_odds answers
exact draw questions by hypergeometric enumeration. Runs render to a
shareable HTML report, and you can step through a single game by hand.
Goldfishing measures speed and consistency only; it cannot value
interaction.
goldfish_annotate
goldfish_run
goldfish_ab
goldfish_odds
goldfish_report
goldfish_start
goldfish_step
goldfish_state
2026-08-08
Reliable card text pulling
Tools no longer describe cards from memory. scryfall_card_text
pulls full oracle text for a whole list of names in one call, and
archidekt_deck gained an include_text flag that
returns a deck with real rules text attached. The server now instructs
clients to verify text before reasoning about it.
scryfall_card_text
2026-08-08
Prices for the exact printing
Pricing now knows that not every copy is the same.
scryfall_price takes a set code, collector number, and finish;
scryfall_price_list reads set, collector number, and finish off
each line of a decklist and prices that specific copy. Foil and etched no
longer silently fall back to non-foil, and format_archidekt
emits *F* and *E* markers.
scryfall_price_list
2026-08-07
Price Watchlist
A hosted watchlist for tracking card prices over time. Create a list, add
cards one at a time or in bulk, set targets, and get a push notification
when something hits your number. Lists live behind a passphrase URL with
price history sparklines.
watchlist_create
watchlist_add
watchlist_bulk_add
watchlist_remove
watchlist_list
watchlist_view
watchlist_report
watchlist_history
watchlist_clone
price_history
2026-07-09
Precon upgrades and diffs
edhrec_precon_upgrade shows how the community actually upgrades
a preconstructed deck — which cards get cut, which get added, and how
often. precon_diff gives the exact cut and added lists between a
precon and any specific deck.
edhrec_precon_upgrade
precon_diff
2026-03-28
Combos, rulings, and precon decks
Commander Spellbook combo search, official Wizards rulings, and 2700+
preconstructed decklists from MTGJSON. Plus
format_archidekt, which generates importable decklists with
categories, commander placement, and maybeboards.
spellbook_combos
spellbook_card_combos
scryfall_rulings
precon_search
precon_decklist
precon_export
format_archidekt
2026-03-27
Mystic Forge goes live
One MCP server for Magic: The Gathering — Scryfall search and pricing,
EDHRec commander recommendations, Archidekt deck reading, and decklist
validation.