SpellBook Finance

com.spellbook-finance由 spellbook-finance.com 发布官方发布者v1.0.0更新于 Oct 24, 2026

Magic: The Gathering card prices, movers, arbitrage, sealed box EV, and seller inventory tools.

已验证Streamable HTTP可网页运行金融数据与分析商业与电商

概览

AI 生成的概览

让助手查询集换式卡牌价格与市场数据,并管理卖家库存与各平台上架。

可以做什么
提供卡牌印刷搜索、各来源价格、每日价格序列、涨跌排行、Magic 扫货检测与密封盒 EV 排名,并涵盖 Pokemon 市场与赛场比赛分析。另有卖家工作流工具:待发货清单、库存与进货记录、CSV 导入,以及 eBay、ManaPool、TCGplayer 的上架、改价与下架。
适用场景
适合卖家查询卡牌价格、涨跌与密封盒 EV,或管理库存、进货及 eBay、ManaPool、TCGplayer 上架时使用。
运行要求
远程 HTTP 端点,无需本地运行环境。部分工具需要已认证的卖家工作区;上架与同步还需连接 eBay、ManaPool 或 TCGplayer 账户。
安装前请注意
多项工具会实际更改数据:上架、改价、下架、同步与接收进货都会影响真实刊登与库存,且 eBay 上架会产生实际费用。建议先使用 dryRun 或预览工具并取得用户确认。部分工具需要已认证的客户工作区。

安装

在 SourceWeft 中

  1. 打开 控制台中的 SpellBook Finance,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.spellbook-finance%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "spellbook-finance": {
      "type": "http",
      "url": "https://api.spellbook-finance.com/mcp"
    }
  }
}

工具

140

spellbook_guides

Find a selling guide

Find a cataloged SpellBook Finance customer-agent guide for seller setup and onboarding, selling, pricing, sealed EV, or choosing a card or sealed-product strategy for a budget and workload. Use it when a customer asks how to make money with Magic, what to do with a bankroll or store credit, whether to open or resell sealed product, or which research route fits their goal. Returns each guide's purpose, supported decision, and URL; read that page for its tool sequence and field meanings. Public search-acquisition articles are excluded. For screening, valuing, or messaging about a Pokémon collection or Marketplace lot, read spellbook_skill with name collection-buying.

输入参数topic

spellbook_skill

Read a task procedure

Read the step-by-step procedure SpellBook Finance wrote for a whole customer task, in full. getting-started takes a new seller from sign-in through supplies, bin labels, a first tracked card, and connected marketplaces. buy-loop covers inspecting buy facts and recording what happened. collection-buying covers screening a Marketplace or local Pokémon lot, the questions to ask the seller, per-name printing checks, and recording the buy. physical-placement covers moving one item to a bin and verifying it. fulfilling-orders covers where an order lands, the bin walk that finds each sold card, and who packs, labels, and confirms shipped. Read the matching procedure before the first call of that task. Omit name to list every procedure with its title.

输入参数name

spellbook_pull_work

Read current pull work

Read a page of SpellBook's current fulfillment work, grouped by marketplace order. Each order carries its tray slot and card lines with bin, printing, condition, and state, including blocked reasons and ship-by evidence when available. Use when a seller asks what to pull or pack. Read spellbook_skill for fulfilling-orders before coaching the workflow; follow nextCursor until hasMore is false before summarizing the full returned workset. Use pending lines for the shared bin walk, then verify and pack each order separately.

输入参数limitcursormarketplaceworkspaceId必填

spellbook_buy_targets

List buy targets

Return a bounded source-order page of materialized TCGplayer-to-Card-Kingdom rows with an opaque nextCursor for complete traversal. Rows include printing identity, observed acquisition and cash quote prices, listed shipping, seller/quantity evidence, exit.quantityBuying (the copies Card Kingdom buys at the quoted price), maxCopies (the smaller of listed stock and exit.quantityBuying), the Card Kingdom condition ladder (NM/EX/VG/G payouts, modeled from the NM quote), timestamps, printingMismatches and missingFields. Call this first when a person says "I have $X to risk", "find me opportunities", "good opportunities", "single cards", "high risk singles", "start with arbitrage" or "what should I buy". Never request more copies of a row than maxCopies. Before handing a person a buy list, record each chosen row as a consideration with spellbook_customer_evidence_record, because spellbook_buy_outcome_report scores only recorded considerations. No profit, ranking, selection, reserves or cost defaults. Exact listing links and fee amounts are null when unavailable. Customer agent supplies all policy and executes purchases.

输入参数limitcursor

spellbook_buy_outcome_report

Score past buys

Score every closed buy decision in one workspace against its immutable prediction and a fixed equal-weight printing basket. Includes unscored and abandoned counts, missing baseline evidence and small-sample limits. Uses submitted receipts; does not verify merchant orders or money.

输入参数workspaceId必填

spellbook_movers

Read what is moving

Read which card printings changed price the most over one window: daily, weekly, 30d or 90d. Returns gainers and losers with exact game, catalog product, language, finish and marketplace variant when the source provides them, plus current and previous prices, dollar and percent change, swing30d (the typical 30 day move in percent: the median absolute 30 day change over the last 90 daily closes), a canonical SpellBook Finance cardUrl, and run timestamps. Call this to answer "what is moving this week" instead of guessing, then call spellbook_card_prices for one printing's per-source prices. An unavailable result names why no supported rows can be returned.

输入参数gamewindow

spellbook_screener

Screen card prices

Screen Magic card printings by price, price change and 20 day band statistics in one call. Each row carries the printing identity (scryfallId, name, setCode, rarity), price, and change7d, change30d and change90d in percent. Its band fields: ma20 is the mean of the last 20 daily closes. bbPos is where today's close sits inside the 20 day Bollinger band, 0 at the lower band and 100 at the upper, and below 0 or above 100 outside it. bbWidth is the band's width as a percent of ma20. z20 is today's close minus ma20, in 20 day standard deviations. squeeze and squeezeRecent say whether the Bollinger band sat inside the Keltner channel today, or on any of the last 5 days. flatDays counts the days since the price last changed. swing30d is the typical 30 day move: the median absolute 30 day change, in percent, over the last 90 daily closes. Call it to answer "which cards sit near the bottom of their recent range", "which cards fell this month inside a 90 day rise", "which cards moved far past their usual size this month" or "which prices have gone quiet", then call spellbook_card_prices for one printing's per-source prices. Rows come back in the sort the caller names. Nothing is scored, labeled or chosen for you.

输入参数pagesortperiodsort_dirmax_pricemin_pricepage_sizezscore_maxzscore_minband_pos_maxband_pos_minchange30d_max另有 5 个

spellbook_buyouts

Read recent buyout observations

Read Magic price-spike observations from SpellBook Finance's buyout detector. Call it when asked which Magic cards are being bought out right now. Returns printing identity, old and new USD prices, fractional pctGain (0.25 means 25%), detection time, secondary-source confirmation, source links and explicit coverage gaps. Read guideUrl for the interpretation and stop conditions. Observations are candidates, not verified buyouts. Call spellbook_card_prices with a row's scryfallId for current per-source price observations.

无需输入参数。

spellbook_box_ev_rankings

Read sealed EV rankings

Read sealed-product EV rankings with each box's modeled total EV, evRatio, pack standard deviation (packSD), N0 and breakEvenPct, defaulting to the highest evRatio first. Call it for "how many packs until opening is likely profitable" (N0), "how swingy is this box" (packSD, and swinginess, which is packSD divided by packEV) and "what share of packs beat the pack price" (breakEvenPct). N0 is the number of packs at which a normal approximation, treating packs as independent and identical, gives about a 97.7% modeled probability that summed gross card market value exceeds summed pack cost. It is null when per-pack edge is zero or negative. Pack cost is packPrice, the box market price divided by packsPerBox. Each N0 variant uses its own valuation basis, with its own pack SD and edge: n0Full uses full market value (packSD, fullEdge), n0LandAdjusted prices cheap lands at bulk rates (landAdjustedPackSD, landAdjustedEdge), and n0Sellable prices cards below a threshold at bulk buylist rates (sellablePackSD, sellableEdge). All values are gross market value before selling fees, shipping and liquidity. breakEvenPct is the share of simulated single packs worth at least packPrice. It is not the probability of profit after N packs. Rows also carry exact product IDs, market prices, the acquirableFloorUsd and evRatioBasis behind the stored EV ratios when present, market-basis ratios, market-price spreads, shipping-aware ratios, per-pack metrics and row timestamps. evRatio is totalEV divided by max(marketPrice, the cheapest captured TCG listing price plus shipping) on rows with a known basis; evRatioMarketBasis preserves the market-price comparison. spreadUsd is totalEV minus marketPrice, so it is a separate comparison. typicalEV is the box EV with every card under typicalEvCutoffPerPack (a pull probability of 0.001 per pack) left out, and typicalEvExcludedCount is how many cards that dropped; typicalEV is null when the model cannot compute it, with typicalEvReason saying why. Sort b

输入参数qgamesortlimitcursorbox_typesort_dirmax_pricemin_ev_ratio

spellbook_card_prices

Read one card's prices

Read every price source SpellBook Finance holds for ONE printing, one row per source, each with its own label, price and timestamp. Sources can include TCGplayer Market, TCGplayer Low, Card Kingdom retail and buylist, CoolStuff, an eBay 90-day sold median, Cardmarket, ManaPool and CardTrader. Pokemon TCGplayer finish subtypes stay in separate rows. cardId is the exact printing id returned by spellbook_printings_search: a UUID for Magic, or a catalog product id for Riftbound or Pokemon. Rows come back in source order with their own timestamps; nothing is averaged, ranked, or chosen for you, and no listing link is returned. For Market-versus-dealer interpretation, find a guide with spellbook_guides topic buylist-and-exits.

输入参数cardId必填finish

spellbook_card_buylist

Read one card's dealer offers

Read dealer buy offers for ONE exact card product, preserving each offer's game, finish, subtype, language, condition, source product, source timestamp, cash and credit fields, quantity and missingFields. Use the catalog product id from spellbook_printings_search. Pokemon offers are English NM/New CoolStuffInc observations when present; no offer or missing field proves a dealer has no stock. This read returns facts and does not choose a vendor or sell cards.

输入参数cardId必填

spellbook_card_buylist_history

Read one card's dealer buylist history

Read the stored daily dealer buylist price series for ONE exact printing: one point per day with the Card Kingdom and Cardhoarder buylist price when SpellBook stored one, oldest day first, plus earliestDay, the first day SpellBook holds any stored row for that printing. Use the printing id from spellbook_printings_search. Call spellbook_card_buylist for current offers from every dealer SpellBook reads. This read returns facts; it does not choose a vendor, judge a price or sell cards.

输入参数dayscardId必填

spellbook_card_desk

Read one card's price series, sales and asks

Read ONE Magic printing's stored daily price series, its recent sales and its current TCGplayer asks. Every caller gets all three, signed in or not. series has one point per stored day, oldest first: priceUsd is the TCGplayer Market price SpellBook stored that day and tcgLow is the TCGplayer Low price. buckets sums English near mint and lightly played sales of the requested finish into 3 day buckets, each with units, transactions, a units weighted market price and the lowest and highest sale. asks lists the TCGplayer listings of the requested finish from the newest unexpired snapshot, cheapest first, with condition, quantity and seller name. Each array carries its own captured time. Call it after spellbook_printings_search names the printing, to see how its price moved over weeks or to set the Market price beside recent sales and asks. Call spellbook_card_prices for today's price from every other source. Nothing is scored, labeled or chosen for you. Compute any band, return or range yourself from series.

输入参数cardId必填finish

spellbook_pokemon_market_analytics

Read Pokemon market analytics

Read exact identity scoped Pokemon market facts for ONE catalog product: language, finish, condition, independent retail fair value, observed supply depth, versioned SCORE factors and Limitless demand coverage. The response keeps qualified values null when source count or comparable history is missing, and names missingFields and limitations. It reports facts only; it does not rank cards, recommend an action or infer a missing source.

输入参数cardId必填finish必填language必填condition必填

spellbook_pokemon_ath

Read Pokemon ATH facts

Read the latest Pokemon all-time-high facts for the retained daily snapshot. Rows preserve exact product identity, language, finish, variant, source date, previous ATH and history coverage. This is a facts-only read; unavailable or partial history stays explicit in availability, missingFields and limitations.

输入参数dategame必填

spellbook_pokemon_arbitrage_spreads

Read Pokemon arbitrage spreads

Read bounded Pokemon acquisition and exit quote facts for exact product identity, preserving quote basis, currency, observation time, source reference, source URLs, comparisons, missingFields and limitations. This read compares observed sources; it does not rank opportunities, recommend a purchase, or execute a transaction.

输入参数limitfinishcohortIdlanguageconditionproductIdproxyFeeUsdimportDutyRatesellingFeeRateotherSellingUsdimportChargesUsdinboundShippingUsd另有 3 个

spellbook_deck_contents

Read owned deck cards

Read one authenticated customer's exact owned and draft card contents for a deck. The response preserves game identity, entry ids, matched catalog identity, quantities, membership recovery count and Pokemon readiness checks. It reports facts only and does not edit a deck or infer missing cards.

输入参数deckId必填

spellbook_deck_import_limitless

Import a Limitless Pokemon deck

Import one player's Pokemon decklist from one fixed Limitless tournament standings record into the seller's workspace. The workspace owner chooses the event, player, format and idempotency key; retries with the same key replay the first result or report an in-progress import. The tool does not accept URLs or credentials and returns source identity, matched and unmatched counts, and the imported deck.

输入参数nameformateventId必填playerId必填workspaceId必填idempotencyKey必填

spellbook_pokemon_metagame_overview

Read Pokemon metagame overview

Read observed Pokemon archetype coverage for one format from recent Limitless tournament decklists. The response preserves archetype facts, sample coverage, truncation, missingFields and limitations. It does not measure the whole player population or predict demand.

输入参数limitformat必填

spellbook_pokemon_metagame_archetype

Read a Pokemon archetype

Read observed Pokemon archetype and card facts for one format and exact archetype name from recent Limitless tournament decklists. The response preserves source coverage, card prices, truncation, missingFields and limitations. It reports observations and does not recommend a deck or purchase.

输入参数limitformat必填archetypeName必填

spellbook_pokemon_metagame_card

Read Pokemon card metagame facts

Read observed Pokemon card demand facts for one exact catalog product, optionally narrowed to one format. The response preserves exact card identity, sample windows, counts, prices, coverage, missingFields and limitations. It reports observations and does not rank or recommend a card.

输入参数limitcardId必填format

spellbook_inventory_bin_ensure

Record cards in a bin

Record physically confirmed cards into one inventory bin, by stating the DESIRED TOTAL quantity of each exact printing that belongs in that bin. Existing live copies count toward that total, so only a missing difference is created. Calling it twice with the same numbers creates nothing the second time. Use it for the first cards a seller enters by hand, with no CSV and no scanner. Returns the created item ids plus every candidate it refused and why.

输入参数binId必填items必填workspaceId必填physicallyConfirmed必填

spellbook_inventory_import_csv

Import a ManaBox or TCGplayer CSV

Import a seller's own ManaBox export or TCGplayer inventory export into one workspace, the same import the SpellBook Finance web app runs. The server parses the CSV, resolves each row to an exact printing, preserves mapped location labels or assigns fallback bins, and creates one inventory copy per card. TCGplayer Pokémon and Riftbound rows require the catalog's exact game, provider product identity, finish, condition, and language; incomplete or mismatched rows are skipped with a repair reason and never default to Magic, English, or nonfoil. Sending the identical CSV again returns the first result with duplicate true and creates nothing. Returns the importId, how many copies were written, the bins used, and every row it could not parse or skipped.

输入参数csv必填source必填binNamebinPrefixtotalCostworkspaceId必填blankLocationlocationColumnoneBinPerUpload

spellbook_inventory_precon_import

Add a Commander precon to inventory

Add one or more opened Commander precon decks to inventory as individual cards, the same Add Commander deck flow the SpellBook web app runs. The server reads the cached decklist for that TCGplayer product, creates one inventory copy per card at the exact deck printing, assigns bins, and splits the price paid across the cards. Returns the importId, how many copies were written, and the count placed in each bin.

输入参数binPrefix必填copyCountworkspaceId必填paidPriceUsd必填tcgProductId必填oneBinPerDeckacquisitionDate必填overrideDuplicate

spellbook_purchase_incoming_record

Record purchased singles on the way

Record single cards the customer bought on a marketplace that have not arrived yet, one row per exact printing with the quantity and the price paid per copy. Each copy is written as pending receipt under one order, so it counts as incoming and cannot be listed or sold until it is received. Returns the order's acquisitionSource, the copy count, the total cost and the bins the copies will go into. Use it right after the customer completes a marketplace checkout for singles found through spellbook_buy_targets or spellbook_singles_buylist_spreads. It never buys anything and moves no money. A card already in hand goes through spellbook_inventory_bin_ensure instead. When the package arrives, call spellbook_inventory_incoming_receive with the returned acquisitionSource.

输入参数rows必填orderRef必填sellerNamemarketplace必填workspaceId必填

spellbook_inventory_incoming

Read incoming inventory

Read what a workspace has bought or saved that has not arrived yet, one group per marketplace order or precon deck import. Each group carries its acquisitionSource, a readable title, the copy and card counts, the total cost, the date it was recorded and the bins its copies are assigned to. Call this to answer what is still on the way, or to find the acquisitionSource to receive. It reports pending groups; it does not track a package or say when one will arrive.

输入参数workspaceId必填

spellbook_inventory_incoming_receive

Receive incoming inventory

Mark every pending copy in the named orders or precon imports as received, which makes them owned inventory that can be listed and sold. Returns how many copies were received, their total cost and the bins they belong in. Call it when the customer says the package arrived and they counted the cards. Read spellbook_inventory_incoming first to get each acquisitionSource.

输入参数workspaceId必填acquisitionSources必填

spellbook_ebay_publish

Publish cards to eBay

Publish owned copies from one workspace as live eBay listings, priced by a stated rule. Pass itemIds to publish one exact card. ALWAYS call it once with dryRun true and show the person the counts and the preflight before calling it again with dryRun false, because a live run creates real listings a real buyer can buy. Pricing anchors on market price, never on what the seller paid: multiplier 0.96 lists at 96% of market, and floorUsd only ever raises a price. A live run returns a queued jobId, or the reason nothing published. A queued job has listed nothing yet, so call spellbook_ebay_job_status with that jobId before telling the person any card is live.

输入参数binIddryRunitemIdsfloorUsdsetCodesbatchSizemultiplier必填workspaceId必填

spellbook_ebay_lot_publish

Publish a deck to eBay

Publish a player-built deck from one workspace as ONE live eBay listing in eBay's player-built decks category. You choose the cards, the title, the summary, the ask and the shipping charge. This tool never suggests a price, ranks cards or picks a deck for you. It reports, per card, how many free near-mint copies the workspace holds and, when deckFormat is set, whether Scryfall lists the card as legal in that format. ALWAYS call it once with dryRun true and show the person the preview, the per-card counts and the refusals before calling it again with dryRun false, because a live run creates a real listing a real buyer can buy. A live run returns the eBay listingId and listingUrl, or the refusals. It does not reserve the copies, and it does not know whether another channel sells them first.

输入参数cards必填title必填dryRunsummary必填priceUsd必填archetypedeckFormatshippingUsd必填workspaceId必填

spellbook_ebay_reprice

Reprice eBay listings

Preview or reprice existing live eBay listings in one seller workspace using owner-accepted saved rules or a market multiplier and optional floor. Read spellbook_agent_pricing_protection first. A workspace in saved_rules_only mode requires pricing saved_rules; the server uses its accepted rules. This is a one-run marketplace override: it changes current eBay asks, creates no listing, and saves no pricing profile or durable override. Preview first with the default dryRun true. A preview with itemIds returns its counts at once. Any other preview returns state planning and a jobId, so read its counts with spellbook_ebay_job_status. An explicit dryRun false queues an async reprice job. Read that job with spellbook_ebay_job_status until each affected listing reaches its terminal state.

输入参数binIddryRunitemIdspricingfloorUsdsetCodesmultiplierworkspaceId必填acquisitionSourceskipIfWithinPercent

spellbook_ebay_unpublish

End eBay listings

End the live eBay listings for up to 25 exact copies, and keep each copy in inventory so it can be published again. Take Item ids from spellbook_inventory_items_query. Show the person which cards will come down and get a yes before calling, because a live listing ends at once. Returns one result per copy: unpublished, kept, no_listing, or failed.

输入参数itemIds必填workspaceId必填

spellbook_ebay_job_status

Read an eBay bulk job

Read one eBay bulk job by the jobId returned from spellbook_ebay_publish or spellbook_ebay_reprice. Both operations queue work, so call this before telling the person a listing was created or its ask changed. State planning, pending, uploading, processing or ingesting means the job is still running: call again after about a minute. State failed carries errorMessage, and each failures row carries a per-card reason: relay that reason to the person. A job with dryRun true is a reprice preview: it changed no eBay price, and totalItems counts the listings a live run would reprice. Returns state, counts, per-card items, failures and missingFields.

输入参数jobId必填

spellbook_manapool_sync_preview

Preview a ManaPool sync

Compare one workspace's inventory against what is live on ManaPool, and return the exact changes a sync would make. Every action is listed with its kind: upsert to create or change a listing, delist to remove one, blocked where a cross-channel check refused it. Nothing is sent to ManaPool by this call. Show the person the summary and the counts, then call spellbook_manapool_sync_apply with the previewToken this returns.

输入参数floorUsdmultiplierworkspaceId必填

spellbook_manapool_sync_apply

Apply a ManaPool sync

Send a previewed batch of changes to ManaPool, creating, repricing and removing real listings. Takes the previewToken from spellbook_manapool_sync_preview, which must still be valid. Applies at most maxActions in one call and returns remainingActionCount with nextActionCursor, so a full book takes several calls. Show the person the preview before the first call, not after.

输入参数floorUsdmaxActionsmultiplierworkspaceId必填previewToken必填

spellbook_sealed_listing_preview

Preview a sealed listing

Preview one sealed listing on ManaPool or TCGplayer without publishing. Returns the proposed quantity and ask, any current offer, TCG publisher readback state, stock and intent revisions, and blockers. For TCGplayer, the first call may queue an exact seller-grid SKU read; call again after the paired extension finishes. After submitting, call preview again: publisher.state live confirms an offer, and removed confirms a zero-quantity removal. Pass this preview's channel, ask, and revisions to spellbook_sealed_listing_submit.

输入参数capgamekind必填boxId必填channelfloorUsdlanguagetakeoverpriceRuleworkspaceId必填fixedPriceUsdfloorMarketFraction

spellbook_sealed_listing_submit

List sealed product

Submit one sealed product listing to ManaPool or TCGplayer at the exact quantity and ask shown by spellbook_sealed_listing_preview. Pass the same channel and product arguments, plus proposed.stockRevision, proposed.askUsd, and intentRevision unchanged. ManaPool submits directly. TCGplayer queues the paired browser writer. A queued TCG write is pending until an exact seller-grid readback confirms it.

输入参数capgamekind必填boxId必填channelfloorUsdlanguagetakeoverpriceRuleworkspaceId必填fixedPriceUsdexpectedAskUsd必填另有 4 个

spellbook_sealed_listing_pause

Remove a sealed listing

Remove one SpellBook-managed sealed listing from ManaPool or set its TCGplayer quantity to zero through the paired browser. Call spellbook_sealed_listing_preview first and pass its channel and intentRevision unchanged. A product with no saved SpellBook intent cannot be removed by this tool.

输入参数gamekind必填boxId必填channellanguageworkspaceId必填idempotencyKey必填expectedIntentRevision必填

spellbook_tcg_listing_preview

Preview a TCGplayer listing run

Show which cards in one workspace would be listed on TCGplayer, and at what price, without changing anything. TCGplayer has no server-side publish, so the real path is a CSV a person uploads to the TCGplayer portal. Call this first and show the person the candidates and the totals, then call spellbook_tcg_listing_export only once they have agreed to upload the file.

输入参数cursorfloorPricesampleSizeworkspaceId必填marketMultiplier

spellbook_pokemon_tcg_staged_preview

Preview exact Pokemon TCG rows

Preview the TCGplayer CSV rows for 1 to 25 exact Pokemon physical inventory copies in one workspace. Call this after the seller selects the copies they want to inspect. It returns the existing staged-preview rows and CSV; it queues nothing, publishes nothing, and offers no publish or export follow-up.

输入参数itemIds必填workspaceId必填

spellbook_tcg_listing_export

Export a TCGplayer upload CSV

Produce the CSV a person uploads to the TCGplayer portal, and mark those copies as listed in SpellBook. Call it only after spellbook_tcg_listing_preview and only once the person has said they will upload the file. Hand them the CSV and tell them plainly that SpellBook now believes these copies are listed, so the upload has to happen.

输入参数floorPricesampleSizeworkspaceId必填marketMultiplier

spellbook_manapool_connection_status

Check your ManaPool connection

Check whether this signed-in customer's ManaPool seller account is connected to SpellBook Finance. Call this before requesting a setup link and again after the seller finishes the setup form. It returns a masked account identifier and stored connection timestamps. If connected is false, call spellbook_manapool_connect_link.

无需输入参数。

spellbook_ebay_connection_status

Check your eBay connection

Check whether this signed-in customer's eBay seller account is connected to SpellBook Finance. Call this before requesting a connect link and call it again after the seller approves eBay consent. It returns the stored account identity and token state plus current eBay seller-registration and selling-limit facts. If connected is false and account is null, call spellbook_ebay_connect_link. If status is revoked, fetch a fresh connect link.

无需输入参数。

spellbook_ebay_shipping_policy_get

Read eBay shipping policy

Read the caller's connected eBay shipping charges and provider readback. workspaceId proves the caller owns a SpellBook workspace; eBay settings remain scoped to that caller's connected eBay account. Read this before changing shipping charges.

输入参数workspaceId必填

spellbook_ebay_shipping_mode_get

Read eBay shipping mode

Read the shipping-mode preference saved for the caller's connected eBay account and whether a delegated agent last set it. workspaceId proves owner access only; the preference is account-scoped.

输入参数workspaceId必填

spellbook_ebay_shipping_mode_set

Set eBay shipping mode

Save the seller-selected shipping mode for the caller's connected eBay account, then return the saved preference. Read spellbook_ebay_shipping_mode_get first; call spellbook_ebay_shipping_policy_set separately to configure charges. This can affect future listing and repricing work across the account's workspaces.

输入参数workspaceId必填shippingMode必填

spellbook_ebay_shipping_policy_set

Set eBay shipping charges

Set a package flat shipping charge and optionally an envelope charge on the caller's connected eBay account, then return provider readback. Read spellbook_ebay_shipping_policy_get first; omitting the envelope amount preserves its current charge. workspaceId is checked for owner access; the connected account belongs to the caller.

输入参数workspaceId必填packageFlatRateUsd必填envelopeFlatRateUsd

spellbook_ebay_combined_shipping_get

Read eBay combined shipping

Read the caller's connected eBay combined-shipping profile and promotional shipping rule, including its provider type, amount threshold or maximum order cost, and configuration status. Call spellbook_ebay_combined_shipping_set after reviewing it. eBay checkout may still require multiple items for an amount-threshold offer; use eBay Seller Hub Shipping discounts when a minimum amount must qualify one item.

输入参数workspaceId必填

spellbook_ebay_combined_shipping_set

Set eBay combined shipping

Set the caller's connected eBay combined-shipping charge and optional amount-threshold offer or maximum shipping cost per order, then return Account API readback. Read spellbook_ebay_combined_shipping_get first. Configure an amount-only single-item Shipping discount separately in Seller Hub.

输入参数profileNameworkspaceId必填combinedDurationeachAdditionalAmountUsdpromotionalShippingRule

spellbook_ebay_order_discount_get

Read eBay order discount

Read the caller's tracked eBay order-discount promotion, including store or lot scope, quantity threshold, percentage, status and dates. workspaceId is checked for owner access; the promotion belongs to the caller's connected eBay account.

输入参数workspaceId必填

spellbook_ebay_order_discount_set

Set a store-wide eBay order discount

Set a store-wide eBay order discount based on a seller-selected minimum quantity and percentage. Call spellbook_ebay_order_discount_get first; only one tracked order-discount promotion is supported, so this may replace the existing one.

输入参数minQuantity必填workspaceId必填percentageOff必填

spellbook_ebay_order_discount_disable

Disable tracked eBay order discount

Disable the caller's tracked eBay order-discount promotion after reading spellbook_ebay_order_discount_get. This ends the tracked promotion and requires agent_marketplace_publish authorization.

输入参数workspaceId必填

spellbook_tcg_extension_pairing

Read TCGplayer extension pairing

Read whether this workspace has a paired TCGplayer browser extension, and get the SpellBook page where the seller pairs one. TCGplayer has no seller API, so SpellBook syncs TCGplayer listings and orders through a Chrome extension on the seller's own computer. Returns whether the account has extension access, the current session's status, when it was paired, when the extension last checked in, and its order sync state. If session is null or lastSeenAt is null, give the seller pairingPage.guideUrl to install the extension, then pairingPage.url to pair it. Call this tool again after they finish.

输入参数workspaceId必填

spellbook_channel_pricing_profiles

Read channel pricing profiles

Read which saved pricing profile each marketplace channel prices from in one workspace. Automatic eBay listing and repricing price every card from the eBay channel's profile, so read this before a seller turns on automatic eBay listing. Returns the workspace's saved profiles by name with the active one marked, and for each channel the pinned profile, the profile automation actually prices from, and which SpellBook jobs read that pin. It reports the setting and recommends no profile.

输入参数workspaceId必填

spellbook_channel_pricing_profile_set

Pin a channel pricing profile

Pin one of the workspace's saved pricing profiles to one marketplace channel, or clear the pin with a null profileId. It is the same choice as the channel defaults card on the SpellBook pricing settings page. Read spellbook_channel_pricing_profiles first, and pin only a profile the seller named. Returns the full channel pricing read after the write, plus the channel's previous pin, so the change can be reverted by setting the previous value back. It changes which profile prices future automatic listings and reprices; it edits no profile and publishes nothing.

输入参数channel必填profileId必填workspaceId必填

spellbook_agent_pricing_protection

Read agent pricing authority

Read a workspace's saved-rule pricing authority before an eBay reprice. Returns current and accepted eBay rules, mode, source-change acceptance requirement, unresolved submission evidence, missingFields and limitations. Settling means earlier admitted marketplace writes may still finish. Only the owner can accept rules through the web app.

输入参数workspaceId必填

spellbook_ebay_price_limits_get

Read eBay fixed price limits

Read active and pending eBay fixed-baseline price limits, enforcement status and missing evidence. Call before preparing a new enrollment with spellbook_ebay_price_limit_enrollment_prepare. Expiry stops new admissions; earlier admitted writes may still finish.

输入参数workspaceId必填

spellbook_ebay_price_limit_enrollment_prepare

Prepare eBay price-limit enrollment

Prepare an account-wide enrollment proposal from explicit owner-selected bounds and times. Returns a durable header and coverage counts. Explain the quiet interval prerequisite before calling: controlled price admissions and relevant membership changes can invalidate discovery. Continue with spellbook_ebay_price_limit_enrollment_continue; the owner reviews and activates in the web app.

输入参数scope必填endsAt必填startsAt必填workspaceId必填decreaseCents必填increaseCents必填expectedPolicyRevision必填

spellbook_ebay_price_limit_enrollment_get

Read eBay enrollment progress

Read one eBay price-limit enrollment's state, coverage counts, fingerprint and original expiry. Call after preparation or continuation. Read stored baselines with spellbook_ebay_price_limit_enrollment_pages; continue building with spellbook_ebay_price_limit_enrollment_continue.

输入参数workspaceId必填enrollmentId必填

spellbook_ebay_price_limit_enrollment_pages

Read eBay enrollment baselines

Read bounded stored pages of eBay enrollment identities, observed baselines, absolute bounds and exclusions. Call after spellbook_ebay_price_limit_enrollment_get. Follow nextCursor until null to inspect all stored pages; read the header again for overall completion.

输入参数cursorworkspaceId必填enrollmentId必填

spellbook_ebay_price_limit_enrollment_continue

Continue eBay enrollment discovery

Advance one bounded discovery step of an existing eBay enrollment and return its header. Read spellbook_ebay_price_limit_enrollment_get first for the current state version. The server chooses each discovery page; repeat from fresh readback while building, then ask the owner to review in the web app.

输入参数workspaceId必填enrollmentId必填expectedStateVersion必填

spellbook_ebay_pricing_restoration_prepare

Prepare receipt-linked eBay restoration

Prepare a new exact eBay pricing approval from selected accepted source receipts. Returns eligible listing identities, typed conflicts and missing evidence. First read the source with spellbook_ebay_pricing_approval_get. The owner must choose manual automation and approve the new compensation in the web app; read its approval before spellbook_ebay_pricing_approval_execute.

输入参数listingIds必填workspaceId必填sourceOperationId必填

spellbook_ebay_pricing_approval_prepare

Prepare exact eBay pricing approval

Prepare an immutable eBay pricing batch from selected inventory items. Returns exact listing identities, executable USD cents, complete physical membership and approval state. Ask the owner to review the batch in the web app, then call spellbook_ebay_pricing_approval_get before execution.

输入参数itemIds必填workspaceId必填

spellbook_ebay_pricing_approval_get

Read exact eBay pricing approval

Read one exact eBay pricing batch's immutable targets, owner approval state and per-listing submission and readback evidence. Call after preparation or execution. Use spellbook_ebay_pricing_approval_execute only after owner approval; keep unknown submissions distinct from observed prices.

输入参数operationId必填workspaceId必填

spellbook_ebay_pricing_approval_execute

Execute owner-approved eBay pricing

Execute the frozen targets of an owner-approved exact eBay pricing batch. First prepare with spellbook_ebay_pricing_approval_prepare and read owner approval with spellbook_ebay_pricing_approval_get. Returns durable execution and per-listing outcome evidence; read the same operation again to inspect progress.

输入参数operationId必填workspaceId必填

spellbook_sku_price_controls

Read one SKU's price controls

Read one seller SKU's exact minimum floor and exact-price lock by printing, finish and condition. Returns saved values, timestamps, all-marketplaces lock scope and whether the seller protected the lock from agent changes. Call it before changing a floor or lock, then read it again after a write.

输入参数finish必填condition必填scryfallId必填workspaceId必填

spellbook_sku_minimum_floor_set

Set one SKU minimum floor

Set one seller SKU's minimum sell price and return its saved readback. Identify the exact printing, finish and condition. A floor raises computed prices up to the floor; it does not make an exact ask and does not trigger repricing.

输入参数finish必填condition必填scryfallId必填workspaceId必填minSellPriceUsd必填

spellbook_sku_minimum_floor_clear

Clear one SKU minimum floor

Clear one seller SKU's minimum floor by exact printing, finish and condition. Returns the saved controls readback, so the agent can confirm the floor is null.

输入参数finish必填condition必填scryfallId必填workspaceId必填

spellbook_sku_exact_price_lock_set

Set one SKU exact-price lock

Set one seller SKU's unprotected exact-price lock and return its saved readback. Identify the exact printing, finish and condition. A seller-protected lock refuses agent changes. Call spellbook_sku_price_controls first to inspect protection. Saving a lock does not publish or trigger repricing.

输入参数finish必填priceUsd必填condition必填scryfallId必填workspaceId必填

spellbook_sku_exact_price_lock_clear

Clear one SKU exact-price lock

Clear one seller SKU's unprotected exact-price lock by exact printing, finish and condition. Seller-protected locks refuse agent removal. Call spellbook_sku_price_controls first to inspect protection; the saved readback confirms a successful clear with a null lock.

输入参数finish必填condition必填scryfallId必填workspaceId必填

spellbook_pricing_profiles_list

List seller pricing profiles

List seller-created pricing profiles by name and active state, plus the resulting active profile id. Call it before choosing a profile for detail, update, activation or channel pinning.

输入参数workspaceId必填

spellbook_pricing_profile_get

Read one seller pricing profile

Read one seller pricing profile's approved multiplier, floor, dollar offset, ordinary value bands, channel overrides, and any configured fixed eBay base-price trial, then report active state and channel pin facts. Call it before an update or activation.

输入参数profileId必填workspaceId必填

spellbook_pricing_profile_create

Create a seller pricing profile

Create one seller pricing profile from a seller-selected name and explicit baseline multiplier and floor, with optional dollar offset, ordinary channel overrides, or a fixed equal-probability eBay base-price trial. A trial requires an explicit experiment id, positive allocation epoch and two different seller-selected multipliers. Returns saved profile and pin readback. It does not activate, publish or immediately reprice.

输入参数mult必填name必填floor必填workspaceId必填marketOffsetUsdchannelOverrides

spellbook_pricing_profile_update

Update a seller pricing profile

Update selected seller-approved fields on one pricing profile and return saved profile and pin readback. Omitted fields stay unchanged. Null clears one channel override or only its eBay base-price trial.

输入参数multnamefloorprofileId必填workspaceId必填marketOffsetUsdchannelOverrides

spellbook_pricing_profile_activate

Activate a seller pricing profile

Activate one seller-selected pricing profile and return its saved readback plus resulting active profile id. The first profile remains inactive until this explicit call. Activation does not publish or trigger repricing.

输入参数profileId必填workspaceId必填

spellbook_pricing_amendments_list

List seller pricing amendments

List bounded seller pricing amendments with selector, marketplace scope, absolute multiplier, protected band, enabled state, priority and timestamps. It returns a cursor plus missing evidence and limitations.

输入参数limitcursorworkspaceId必填

spellbook_pricing_amendment_get

Read one seller pricing amendment

Read one saved pricing amendment's selector, marketplace scope, absolute multiplier, optional protected band, enabled state, priority and timestamps. Use it before an update, preview or delete.

输入参数amendmentId必填workspaceId必填

spellbook_pricing_amendment_create

Create a seller pricing amendment

Create one bounded seller pricing amendment from a selector, marketplace scope, absolute multiplier and optional protected band. Returns saved readback. The server retains its adaptive default internally; this tool has no demand behavior input and does not publish or reprice.

输入参数mode必填name必填notesenabledpriority必填selector必填workspaceId必填marketplaceScope必填

spellbook_pricing_amendment_update

Update a seller pricing amendment

Update selected fields on one saved pricing amendment and return saved readback. Omitted fields preserve existing values, including server-owned demand behavior. The update does not publish or trigger repricing.

输入参数modenamenotesenabledpriorityselectoramendmentId必填workspaceId必填marketplaceScope

spellbook_pricing_amendment_delete

Delete a seller pricing amendment

Delete one saved pricing amendment by exact amendment id and return a deletion readback. This changes saved configuration and does not publish or trigger repricing.

输入参数amendmentId必填workspaceId必填

spellbook_pricing_amendment_preview

Preview a seller pricing amendment

Start or run a bounded preview for one saved amendment or one seller-selected draft. Returns customer-safe per-channel impact counts and status evidence, with no raw inventory rows or demand telemetry. Preview is not publication.

输入参数channelsamendmentamendmentIdworkspaceId必填

spellbook_pricing_amendment_preview_status

Read pricing amendment preview status

Read one pricing amendment preview job's bounded status and per-channel customer impacts. It returns counts, quantities, delta totals, timestamps, missing evidence and limitations. It never publishes or reprices.

输入参数jobId必填workspaceId必填

spellbook_workspaces_list

List your workspaces

List the authenticated customer's existing workspaces with workspaceId, name, membership role and status. Owner, admin and member roles are preserved. Discover a workspace before selecting it; this read creates no workspace or trial. When the list is empty, spellbook_workspace_create makes the first one.

无需输入参数。

spellbook_workspace_create

Create your first workspace

Create the signed-in seller's first workspace when spellbook_workspaces_list comes back empty. It makes a workspace the seller owns. A signup Store trial starts only when its flag is on and the free Seller cap is off for this workspace. When the seller already has a workspace, it returns the first one and creates nothing, so a repeated call is safe. It returns workspaceId, name, role, and created.

无需输入参数。

spellbook_store_setup_status

Read store setup status

Read one workspace's store setup facts and seller-activation projection: which setup facts are true, the current phase, nextAction and blockers, each channel's automation mode and meaning, and server evidence for the first verified eBay and ManaPool listings in autoListing. Use autoListing.ebay.firstVerifiedListing or autoListing.manapool.firstVerifiedListing to decide whether that channel reached the verified-first-listing step; read its verificationPending field when proof is still absent. Baseline quantity remains marketplace evidence, not physical stock. Call this for a seller's setup status or after an automation-policy change.

输入参数workspaceId必填

spellbook_marketplace_onboarding

Read marketplace onboarding

Read how a seller onboards to one channel-lane marketplace and where this workspace's lane stands. It returns the venue's ordered onboarding steps with who does each step, what each needs, where it happens, and its sources, plus the venue's fees, seller levels, and accepted conditions. It also returns the workspace's lane: whether it exists and is enabled, whether SpellBook Finance holds the seller's key for the venue, whether the venue flag is on, whether SpellBook sync exists for the venue, and live and unconfirmed listing counts. Call it when a seller asks how to start selling on Misprint, or why nothing lists there. Walk the seller through the steps they have not done. While lane.connected is false, hand the seller the url of the step that connects the venue to SpellBook Finance, where the seller pastes the key themselves. Call this tool again after they finish. For eBay or ManaPool, call spellbook_ebay_connection_status or spellbook_manapool_connection_status.

输入参数marketplace必填workspaceId必填

spellbook_ebay_automation_set

Set eBay automation

Set one workspace's eBay automation mode, which decides whether SpellBook lists and reprices on eBay by itself, whether that automation lists basic lands, and how many copies one listing may carry. This changes public eBay behavior for the workspace, only the workspace owner may call it, and the agent sets a mode only after the seller chose one. The modes: manual: Nothing lists or reprices on eBay automatically; you publish from the eBay preview when you choose. auto_list: New eligible inventory lists on eBay automatically at your saved eBay pricing strategy's prices, and existing eBay listings are never repriced automatically. full: New inventory lists on eBay automatically, and existing eBay listings reprice from your saved eBay pricing strategy. With variation packages on (the default), new inventory groups into one listing per set with each card as a variation; with them off, each card lists on its own.

输入参数modeworkspaceId必填basicLandsEnabledmaxQuantityPerListing

spellbook_manapool_automation_set

Set ManaPool automation

Set one workspace's ManaPool automation mode, which decides whether SpellBook creates, updates, delists, and reprices ManaPool listings by itself. This changes public ManaPool behavior for the workspace, only the workspace owner may call it, and the agent sets a mode only after the seller chose one. The modes: manual: SpellBook creates no ManaPool listings and sends no quantity changes or delistings, but it keeps repricing your existing ManaPool listings. assisted: SpellBook plans the ManaPool listing changes it would make but sends none of them and offers no approval step, and it keeps repricing your existing ManaPool listings. automatic: SpellBook creates, updates, and delists ManaPool listings as your inventory changes and reprices existing ones, once the workspace passed a ManaPool test publish and while ManaPool reports the account ready to sell. paused: SpellBook sends nothing to ManaPool: no new listings, no quantity changes, no delistings, and no repricing.

输入参数mode必填workspaceId必填

spellbook_channel_lane_set

Set channel lane mode

Set one workspace's lane mode for one channel-lane marketplace, the switch that decides whether SpellBook reads the marketplace or changes listings there. This changes public marketplace behavior for the workspace, only the workspace owner may call it, and the agent sets a mode only after the seller chose one. It returns the same lane state as spellbook_marketplace_onboarding. The modes: off: the lane is disabled and SpellBook neither reads nor changes the marketplace. observe: SpellBook reads the marketplace and records whether it matches SpellBook's desired state, and never changes a listing there. push: SpellBook creates, updates, and removes listings on the marketplace to match its desired state.

输入参数mode必填marketplace必填workspaceId必填

spellbook_return_address

Read your return address

Read the signed-in seller's saved return address: the name, street line, and city-state-ZIP line SpellBook prints on shipping labels, plus the other settings stored beside it. profile is null when the seller never saved one. Read it before spellbook_return_address_save, so the agent can show the seller what is on file.

无需输入参数。

spellbook_return_address_save

Save your return address

Save the return address the seller gave, which SpellBook prints on shipping labels and which store setup counts as returnAddressSaved. It replaces only the name, street, and city-state-ZIP lines and keeps every other saved setting. Only the workspace owner may call it, and only with an address the seller stated. A seller who does not want to share a home address in chat can type it on a SpellBook page, which the limits name, so offer that page before you ask for the address. Call spellbook_store_setup_status afterwards to confirm returnAddressSaved.

输入参数name必填street必填workspaceId必填cityStateZip必填

spellbook_workspace_plan_status

Read your store plan

Read one workspace's Store plan and Seller cap status: tier, stored plan status, trialExpiresAt, sellerToolsUnlocked, and freeSellerCap's scope, observedAt, sellerSource, activeUnitCount, countIsExact, cap, headroom, overCap, enforcementEnabled, claimed, and transitionGraceExpiresAt. A free owner must explicitly choose one workspace with spellbook_free_seller_workspace_claim before free Seller access begins. Read this status again after the claim.

输入参数workspaceId必填

spellbook_free_seller_workspace_claim

Claim one free Seller workspace

Claim the one permanent free Seller allowance for a workspace the seller explicitly chose. Ask the seller to name the workspace from spellbook_workspaces_list and confirm that choice before this call. Never pick a workspace from list order or an active-workspace default. The signed-in person must own it. Re-read spellbook_workspace_plan_status after this call for the actual allowance and entitlement.

输入参数workspaceId必填choiceConfirmed必填

spellbook_entitlements

Read your access

Read this authenticated customer's current Investor and Seller access. Flags are not proof of payment or enrollment.

无需输入参数。

spellbook_singles_buylist_spreads

Compare buylist spreads

Investigate Magic TCGplayer NM acquisitions against Card Kingdom buylist payout scenarios. Preserve source timestamps, finish, stock, grading scenarios, and queue degradation; spread is not net realized profit.

输入参数setslimitcursorisFoilraritysortBysortDirminCkQtyminValueminSpreadPctminSpreadUsdminTotalPotentialProfitUsd

spellbook_japanese_sourcing

Read Japanese sourcing supply

Read Japanese-market supply offers for the Japanese promo cohort from Mercari, Hareruya and Bigweb, each beside the comparison prices SpellBook holds on TCGplayer, ManaPool and eBay. Every row carries one exact supply offer with its printing identity, the merchant's own condition grade and its normalized equivalent, the native unit price with its currency, quantity, availability, and its own observedAt and staleAfter stamps; then every comparison reference with its kind and typed comparisonBasis, a deterministic selectedReference with the selectionRule that chose it, and a providerStatus row for each comparison source explaining why it is ok, missing, stale, failed or incompatible. grossDifferenceUsd is an asking spread and is null unless printing, language, finish, unit basis and condition equivalence all hold; netDifferenceUsd stays null because this read carries no costs. Rows come back in source order, and nothing is ranked, scored or recommended for you.

输入参数limitcursorbuySourcesincludeStalecomparisonSources

spellbook_japan_source_scan

Read a Japan sourcing scan

Read the latest bounded Japan sourcing cohort: English Riftbound cards sold in Japan (riftbound-jp), Japanese-language Magic promos (japanese-promos), or exact-language Pokemon cards (pokemon, pokemon-en, pokemon-ja). Returns every tracked target's actual observation time, verified offers, exact reference prices with price kinds, unresolved listing URLs and recorded blockers, source status and freshness policy. publishedAt is snapshot publication time and does not refresh an older target. Sold and unrelated observations are not purchase candidates. Missing costs remain unknown; no buying recommendation or profit is provided.

输入参数cohortId

spellbook_riftbound_japanese_comparables

Read Japanese Riftbound comparables

Read physical Japanese-language Riftbound observations, separate from English cards sold in Japan. Returns exact SKU language, finish, condition, price kind, source links, actual price capture timestamps, freshness policy, per-source eligible denominators and nullable acceptance rates. ManaPool is unsupported_game. Distinguishes unavailable, stale, completed eligible zero and accepted evidence. TCG Market is a provider statistic, not a completed sale or guaranteed resale proceeds. asOf is query time. An empty result never implies a market price of zero or proves market-wide coverage.

无需输入参数。

spellbook_pricing_decision_explain

Explain one listing price

Read one seller listing's recorded pricing evidence for one marketplace. Returns the last recorded ask, market anchor, safe price effect, decision timestamps and whether the evidence is observed, recorded, projected or missing. Call this when a seller asks what price was saved or what evidence supports it, then use the seller controls tools when they want to inspect or change a setting. It never claims a remote marketplace ask is current without a remote observation timestamp.

输入参数itemId必填channel必填workspaceId必填

spellbook_credit_conversion_candidates

Rank credit-funded sealed

Read CK credit-funded sealed acquisition candidates ranked by opening EV. Cash/credit opening multiples do NOT rank intact sealed resale cash profit. Credit is restricted purchasing power.

输入参数boxType

spellbook_credit_resale_assessment

Assess a credit resale

Assess up to ten exact sealed product lines as a CK-credit-funded intact resale scenario. Supply starting credit and explicit cost assumptions; omit unknown costs. EV judgment is permitted. Returns labeled cash estimates, credit allocation, capacity and missing evidence. Research only, no purchase.

输入参数costs必填lines必填exitChannel必填startingCreditUsd必填maxSnapshotAgeHours必填

spellbook_sealed_deal_board

Read the sealed deal board

Read the Sealed Deal Board: sealed boxes and decks that third-party stores list, one row per product. Each row carries the store, productUrl, retailerPriceUsd, marketPrice (the product's TCGplayer market price, USD), anchorPriceUsd with anchorSource, tcgProductId, shippingPolicy and age stamps: firstSeenAt (the day the board first carried that product), firstSeenBasis, priceBeatenAt with priceBeatenFromUsd (the day its cheapest price fell at least 5% and at least $10 under its own trailing 30-day low), and recencyEventAt, the later of the two, so you can answer "what is new since <date>" without diffing the whole board. Filter by game and productType (for example booster_display); results come in pages of limit rows with nextCursor, which is null on the last page. A caller with no account, or without Investor access, gets the public preview the website shows: a few rows per currency with entitled false. A caller with Investor access gets the full board. Call spellbook_sealed_product_offers with a row's tcgProductId for every store's offer and the sold comparables. Rows arrive in the board's order. Compare retailerPriceUsd with marketPrice yourself; this returns facts and ranks nothing by recency or discount.

输入参数gamelimitcursorproductType

spellbook_sealed_product_offers

Inspect sealed offers

Inspect one exact TCG product ID's sealed offers and their source times. Each offer includes the exact store listing, its local price, the crawl's actionability observation, and the selected exit comparable with its evidence date. Checkout shipping, tax, and available quantity are explicitly unknown until checked with the store. Opening EV is not intact resale value. Empty title or null computedAt can mean missing snapshot.

输入参数regiontcgProductId必填

spellbook_support_report

File a support report

Store one minimal customer failure report. Generate a fresh ULID submissionId and reuse the exact request for retries within 24 hours. Reports are accepted only after storage. No raw diagnostics, conversations, secrets, or customer identity. Available to authenticated Free customers, including paid-access denials. A report reaches no person.

输入参数errorCode必填operation必填occurredAt必填submissionId必填clientVersion必填correlationId

spellbook_agent_gap_report

Report an agent gap

After finishing the task, ask the person whether they consent to send one bounded capability-gap report to SpellBook. Call this tool only after an explicit yes for this report and set consentToShare to true. Use it when a needed field was null, you guessed a number because no tool supplied it, you wished a tool existed, or you abandoned a path. It returns no task data and fixes nothing. Generate a fresh ULID submissionId and reuse the exact request for retries within 24 hours. Field paths must be real SpellBook response paths. There is no free-text field: never describe the card, price, customer, or conversation.

输入参数outcome必填occurredAt必填neededFields必填submissionId必填taskCategory必填abandonReasonguessedFieldsconsentToShare必填wishedCapability

spellbook_customer_evidence_record

Record evidence

Append one immutable consideration, realized outcome, or work observation to the selected workspace. A receipt proves storage only. It does not verify source providers, inspected card truth, profit, or completed work.

输入参数request必填workspaceId必填

spellbook_customer_evidence_get

Read one evidence receipt

Read one private immutable evidence receipt from the selected workspace. Returned observations and source fields remain submitted evidence.

输入参数receiptId必填workspaceId必填

spellbook_customer_evidence_list

List evidence receipts

List a bounded page of private evidence receipts from the selected workspace, optionally filtered by receipt kind, parent, or item ID.

输入参数kindlimitcursoritemIdworkspaceId必填parentReceiptId

spellbook_collection_buying_record

Record collection purchase evidence

Record one seller-agreed collection deal or a later receipt, count correction, evaluation, seller response, reported payment/refund, return/title disposition, dispute, closure, or evidence-backed reopening. Read spellbook_skill(name: collection-buying) first. A submission is an immutable, owner-scoped receipt; retry its exact submissionId and payload after an uncertain result. It records evidence only: it does not contact a seller, send money, verify a reported payment, transfer title, receive inventory, or publish cards.

输入参数command必填workspaceId必填

spellbook_collection_buying_get

Read a collection deal

Read the current snapshot or one immutable revision of a collection deal owned by the selected workspace. The response includes the selected revision's command and receiptId so submitted terms and corrections can be audited. Read the collection-buying skill before interpreting lifecycle state.

输入参数dealId必填revisionworkspaceId必填

spellbook_collection_buying_list

List collection deals

List a bounded page of collection deals in the selected seller workspace. Follow nextCursor to enumerate the full set, then read a deal for its latest or historical revision and source command.

输入参数limitcursorworkspaceId必填

spellbook_inventory_items_query

Query your inventory

Read one private page of existing physical Items matching an exact acquisition source, exact bins, or printing, finish and condition groups. Coordinate filters narrow source or group results. Each Item carries scanPlacement, its approximate position in its scanned bin as ordinal of total, or null when it was never scanned there.

输入参数binslimitcursorgroupsworkspaceId必填acquisitionSource

spellbook_inventory_holdings

Read your holdings

Read one page of what a seller's own workspace holds, aggregated to one row per printing, finish and condition. Each row carries card name, set code, collector number, variant label, quantity owned, quantity available, the current unit market price and the resolved minimum-sell floor with the tier that produced it. Call this to answer what is in the collection, what it is worth, what is already listed versus still available, and which rows sit near their floor. It reports holdings; it does not rank them, pick what to sell, or state a listing's live marketplace status.

输入参数limitcursorworkspaceId必填

spellbook_sealed_portfolio

Read your sealed positions

Read a seller's sealed boxes, packs and cases, with quantity, cost basis, market price, heldQuantity, openIntentQuantity, acquisitionSource and workspaceId for each purchase entry. Call this to reconcile physical sealed stock before listing or opening it. Recovered components can have unknown allocated cost basis and an approximate recovery date. A hold differs from an actual opening; call spellbook_sealed_portfolio_hold_set to correct a holding mark.

输入参数workspaceId必填

spellbook_sealed_portfolio_record

Record a sealed buy

Record one sealed acquisition the customer has already made, so the buy can be scored later against what it cost. Names the catalog boxId, the quantity, the unit price paid as a decimal string, and the acquisition date. Use it after a seller buys a box, pack or case found through spellbook_sealed_deal_board. It records a purchase that happened; it never buys anything and moves no money.

输入参数boxId必填quantity必填salesTaxUsdworkspaceId必填acquisitionDate必填acquisitionPrice必填acquisitionChannel

spellbook_sealed_portfolio_hold_set

Set a sealed holding mark

Mark every still-sealed unit in one purchase entry as a long-term hold, or release that hold. A hold keeps physical inventory and market value but excludes those units from sealed listing. Read spellbook_sealed_portfolio before and after to check heldQuantity.

输入参数hold必填entryId必填workspaceId必填

spellbook_sealed_portfolio_open_intent_clear

Clear a sealed opening plan

Clear the plan to open every still-sealed unit in one purchase entry. Call this when spellbook_sealed_portfolio shows openIntentQuantity for stock the seller intends to keep sealed; then read the portfolio again. This preserves the units and any holding mark.

输入参数entryId必填workspaceId必填

spellbook_sealed_portfolio_receive

Receive a sealed display

Mark one incoming sealed display purchase entry as physically received after the seller confirms its arrival. Call spellbook_sealed_portfolio first to identify the incoming entry, then read it again to confirm owned status. This preserves its holding mark and opening plan.

输入参数entryId必填workspaceId必填

spellbook_sealed_portfolio_open

Mark sealed units opened

Record that an exact quantity of sealed boxes or packs has already been physically opened. Use the entryId from spellbook_sealed_portfolio and read the returned counts; the same entryId and quantity safely replay after a timeout. The historical opening date stays unknown, and recordedAt means when SpellBook recorded the status. No singles are created.

输入参数entryId必填quantity必填workspaceId必填

spellbook_sealed_recovered_component_record

Record recovered sealed components

Record sealed packs recovered from already-opened products, without adding a new purchase or guessing their share of the parent product's cost. This bounded intake accepts the confirmed Aetherdrift Box Topper and Modern Horizons 3 Collector Booster Sample Pack products. It records zero incremental cash, keeps parent basis unallocated, marks recovery timing approximate, and returns persisted-row readback. Reuse requestId unchanged after a timeout.

输入参数hold必填quantity必填productId必填requestId必填workspaceId必填

spellbook_sealed_intent_defaults

Read sealed purchase defaults

Read a workspace's future sealed-purchase open or hold defaults. Call this before changing how extension-captured products are classified. These rows affect future captures only; spellbook_sealed_portfolio reports marks already on physical units.

输入参数workspaceId必填

spellbook_sealed_intent_default_set

Set a sealed purchase default

Set a workspace rule for future extension-captured sealed purchases. An exact game and productType wins over wildcard rules. Read spellbook_sealed_intent_defaults before and after; existing units keep their current marks.

输入参数game必填intent必填productType必填workspaceId必填

spellbook_sale_record

Record a sale

Record a sale of cards the seller's workspace holds that happened outside SpellBook's order intake, such as a local game store buy, an in-person trade, or a one-off marketplace sale SpellBook did not import. Names the exact printing, finish, condition, quantity and unit sale price. It marks that many copies sold, oldest first, closes the position so spellbook_inventory_holdings and spellbook_buy_outcome_report reflect it, and pulls those copies off every marketplace where they are still live. Returns the sold item ids and the holding after the sale.

输入参数qty必填notebinIdfinish必填orderId必填buyerNamecondition必填productId必填occurredAtmarketplace必填workspaceId必填buylistVendor另有 1 个

spellbook_alerts_list

List saved alerts

Read every price alert and buylist watch saved in one workspace, one row per alert with its type, asset, direction and threshold when it has them, status, trigger fields and last matched keys. Filter by status or alertType. Call it before spellbook_alert_create to see what the seller already watches, and use the alertId on a row with spellbook_alert_delete. It reports saved alerts and does not evaluate them or say whether a price would trigger one today.

输入参数statusalertTypeworkspaceId必填

spellbook_alert_create

Create an alert

Create one alert in a workspace and return the saved alert. alertType buylist_watch watches dealer buy offers for the whole inventory (buylistWatchScope inventory) or for one printing and finish (buylistWatchScope card); buylistWatchCondition crossed also needs direction and threshold in USD. Every other alertType watches one card or box and needs assetType, assetKey, assetName, isFoil, direction and threshold. Sending the same alert twice returns the first one with replayed true and creates nothing. Call spellbook_alerts_list first to see what exists.

输入参数finishisFoilassetKeyalertType必填assetNameassetTypedirectionthresholdscryfallIdworkspaceId必填buylistVendorbuylistWatchScope另有 1 个

spellbook_alert_delete

Delete an alert

Delete one saved alert by exact alertId, taken from spellbook_alerts_list, and return success. The alert stops watching at once. Read the list first and confirm with the person which alert to remove, because this tool cannot restore it.

输入参数alertId必填workspaceId必填

spellbook_buylist_compare

Compare buylist and channel nets for inventory

Read one page of a workspace's sellable inventory, one group per printing, finish and condition, with the per-unit net at each of seven destinations: Card Kingdom cash, Card Kingdom credit, Star City Games cash, ManaPool, TCGplayer, TCGplayer Direct and eBay. Each destination carries gross, fees, net, price source, observation time, vendor minimum, quantity the vendor is buying and a skip reason when it has no usable price. Pass nextCursor back to read the next page. It lists every destination in a fixed order and does not rank them, name a best one or say what to sell.

输入参数limitcursorworkspaceId必填

spellbook_collection_receipt

Read a collection receipt

Read one receipt for the cards a workspace holds: total copies, distinct printings, printings held two or more times, copies with a market price and their market USD total, copies and market USD in each value band, copies and market USD at one dollar and up, the market USD of the most valuable copies up to topUnitsCap, and the top rows by market value with card name, set, collector number, finish, condition, copies, unit market and the Intelligent Pricing TCGplayer ask when one was computed. Call it to answer what a collection holds and what it is worth in one read; it works for a free collection-only workspace and for a store. Call spellbook_inventory_holdings next for every row, or spellbook_buylist_compare for per-destination nets. It reports facts; it does not rank, score or pick what to sell.

输入参数workspaceId必填

spellbook_order_proof_photos

Read an order's packing proof photos

Read the packing proof photos for ONE order: a view link for each pull line the packer photographed, with card name, finish, condition and capture time, plus the order's lines that have no photo. Use it to answer whether an order's cards were photographed before shipping, or to gather evidence for a dispute. Photos come from the packer's own camera in the pull flow. This tool only reads them and cannot upload one.

输入参数orderId必填marketplace必填workspaceId必填

spellbook_repeat_buyers

Read your repeat buyers

Read which of the signed-in seller's buyers ordered more than once, across every channel SpellBook syncs orders from, and what happened after a free card shipped in an order. Returns overview counts and shares, weekly returning-order shares overall and per channel, buyerList with each repeat buyer's display name, channels, order count, spend and first and last order dates, and recipients with each free card recipient's prior and later orders and a status of came_back, bought_before or first_order. Call it when a seller asks who their repeat customers are, how many buyers come back, which buyers buy on more than one marketplace, or what free card recipients did next. It reads every workspace the seller belongs to and takes no input.

无需输入参数。

spellbook_returned_package_lookup

Look up a shipped order and its return

Find shipped orders by marketplace order id, order label, tracking number, pull session id, or part of a buyer name or street line, and read each order's shipment facts with its newest return case. Use it when a package came back to the seller, such as a USPS return to sender, before calling spellbook_returned_package_record. Each match carries sessionId, marketplace, externalOrderId, buyerName, shippedAt, trackingNumber, destinationSummary, line counts, cardNames and returnCase. returnCase is null when no return was recorded for that shipment. Otherwise it carries caseId, status, returnReason, resolution and reshipExportPrepared. A held case with reshipExportPrepared false goes to spellbook_returned_package_reship_prepare next. A held case with reshipExportPrepared true goes to spellbook_returned_package_reship_tracking. Returns results with one row per identifier and status matched, ambiguous or not_found, plus missingFields.

输入参数identifiers必填workspaceId必填

spellbook_returned_package_record

Record a package returned to sender

Record that shipped packages came back to the seller unopened, such as a USPS return to sender. Pass the sessionId of each order from spellbook_returned_package_lookup and one returnReason for the batch. Each order gets one return case, held with every line unconfirmed. A reship starts from that held case. It refunds nothing, changes no inventory and touches no marketplace. Returns one row per session with status recorded, already_open or failed, the caseId, and an errorCode when it failed. To reship, call spellbook_returned_package_reship_prepare with the caseId next.

输入参数sessionIds必填workspaceId必填returnReason必填idempotencyKey必填externalOrderId

spellbook_returned_package_reship_prepare

Prepare a reship for a returned package

Prepare the reship of returned packages recorded with spellbook_returned_package_record. Pass each caseId, with correctedDestination when the address on file is wrong or missing. Returns one row per case with the destination address, card count, computed weight in ounces and shipping bucket (pwe, parcel or international). The seller buys a new label from that row. It buys no label, moves no money and touches no marketplace. After the seller buys the label, call spellbook_returned_package_reship_tracking with the new tracking number.

输入参数cases必填workspaceId必填idempotencyKey必填

spellbook_returned_package_reship_tracking

Record the tracking number of a reship

Record the tracking number of the new label for a reshipped return. The case then resolves with resolution reship. Pass each caseId prepared with spellbook_returned_package_reship_prepare and the tracking number of the label the seller bought. Returns one row per case with status recorded, already_recorded or failed, and an errorCode when it failed. It buys no label, sends nothing to a marketplace and notifies no buyer.

输入参数matches必填workspaceId必填idempotencyKey必填

spellbook_inventory_location_confirm

Confirm bin locations

Save up to 25 existing Item bin locations after comparing each expectedBins observation with current state. A fresh Item query is required before and after the save.

输入参数toBin必填itemIds必填workspaceId必填expectedBins必填sourceSignalId

版本历史

1
  1. v1.0.0最新Sep 25, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。