add_card_to_deck
ChatGPTAdd available copies of an owned card to a Mana Vault deck. Use search_collection and list_decks first for IDs.
add_confirmed_cards
ChatGPTAdd the newly acquired copies from one saved card-intake preview after the user explicitly approves the resolved names, quantities, binder, and optional deck. Updates collection and deck together. Atomically rejects stale or expired previews. Replaying the same proposal returns its receipt without adding duplicate copies.
analyze_trade
ChatGPTRead one of the connected user's Mana Vault trade rooms and compare the offered cards, cached USD values, missing/stale prices, owned quantities, and use in the user's decks. Only trade participants can access it. Requires trades.read, collection.read and decks.read. Use the returned facts to explain tradeoffs; no acceptance, offer editing, inventory transfers, or partner collection access occurs.
apply_deck_changes
ChatGPTApply exactly one saved deck proposal after the user explicitly approves its preview, including any deletion. Atomically rejects expired or stale proposals; replay returns the original receipt without applying twice. Does not acquire new owned cards.
create_deck
ChatGPTCreate a named Mana Vault deck for the connected user.
get_card_details
ChatGPTRead cached Magic card rules, mana costs, color identities and catalog links for up to 50 oracle IDs. Resolve unknown names through search_card_catalog first. Catalog details do not imply ownership.
get_deck
ChatGPTGet the cards and commanders in a Mana Vault deck by its ID.
get_deck_coaching_context
ChatGPTRead a current deck's card rules, commanders, quantities, owned availability, computed stats and historical saved review summaries. Use this to coach the deck in chat, then search_collection for owned replacement candidates. Does not start a paid AI review or change cards.
list_decks
ChatGPTList the connected user's Mana Vault decks and their IDs.
list_trades
ChatGPTList active or pending Mana Vault trades the connected account participates in. Requires trades.read permission; reconnect if necessary. Does not expose invite codes, other users' collections, or change offers.
open_vault
ChatGPTOpen the connected user's Mana Vault collection and decks in the ChatGPT sidebar.
prepare_card_additions
ChatGPTResolve card names and quantities supplied by the user or identified by ChatGPT in a user-provided photo. Ask about unreadable/uncertain names and counts first. Save a 30-minute preview to add newly acquired physical copies to an owned binder and optionally an existing deck. Quantities are ADDITIONAL copies, not new totals. Unknown or suggested name matches require clarification; no partial card intake is saved. Exact printing, foil, and condition are not inferred. This contacts Scryfall for uncached names and saves a preview only; show it and get approval before add_confirmed_cards. Use add_card_to_deck instead when allocating cards already owned.
prepare_deck_changes
ChatGPTSave a 30-minute proposal to rename a deck, change format/notes/commanders, set final mainboard card quantities (zero removes), or delete the deck. Changes are absolute final quantities, not increments. Requires sufficient owned copies, preserves collection ownership, and shows before/after details. Deletion must be proposed on its own and leaves owned cards intact. Does not change the deck; present the preview and ask the user to approve it before applying.
search_card_catalog
ChatGPTFind Magic cards by name in Scryfall before adding them to a collection.
search_collection
ChatGPTSearch the connected user's owned cards by name, card type, rules text, commander colors, availability, or binder. Colors limits results to cards whose color identity fits those colors. Follow nextOffset for additional pages; an empty query lists owned cards. Returns rules, quantities, prices and locations; excludes wishlists.
set_collection_quantity
ChatGPTSet the total number of copies of one card in the connected user's collection. Zero removes it. Use search_collection or search_card_catalog to get the oracle ID first. For newly acquired copies or photo intake use prepare_card_additions instead so existing quantities are incremented rather than overwritten.