Drops
The Drops MCP tools: `drop_list`, `drop_get`, `drop_create`, `drop_update`.
The Drops category has 4 tools:
drop_list— List the drops the authenticated caller owns, newest first: name, symbol, description, the brand kit it renders with, the image, the exact USD price an edition costs, the payout address, whether it isdraftorlive, the supply, and the public mint page path. Takes no arguments, costs nothing, and reads the caller's own records only. Call it beforedrop_get,drop_update, ordrop_create— a drop is scoped to its owner, and a drop that belongs to someone else reads the same as one that does not exist, so this list is the only place an id can honestly come from.supplyis{ total, minted, remaining };priceUsdis an exact decimal string, never a float, so a price at the top of the range is not silently rounded.mintPageUrlis a path on the api origin, not an absolute link — resolve it against the host you are talking to. This tool does not mint, publish, or charge anything.drop_get— Read one of the caller's own drops by id: name, symbol, description, the brand kit it renders with, the image, the exact USD price an edition costs, the payout address, whether it isdraftorlive, the supply, and the public mint page path. Free, and it reads the caller's records only. A drop owned by another creator is answered with the same not-found as one that does not exist — the store filters by owner inside its query, so there is nothing here to probe with. Read a drop beforedrop_updateit, and before telling a user what a drop is:priceUsdis an exact decimal string rather than a float,supplyis{ total, minted, remaining }, and adraftis not collectable. This tool does not mint, does not publish, and does not charge anything.drop_create— Create a drop for the authenticated caller: a named, fixed-supply edition at an exact USD price, rendered with one of the caller's own brand kits. Free — it costs no credits, takes no signature, moves no money, and mints nothing. The new drop is adraftand is NOT collectable untildrop_updatesetsstatus: "live". Two rules are refused rather than defaulted, and both are the mistakes that are invisible until a collector's money goes somewhere the creator cannot see: abrandKitIdthat is not a kit YOU own (answered the same as one that does not exist, so this is not an id oracle), and apriceUsdabove zero with nocreatorAddress— putty never holds a creator's takings and has no address to fall back on. Every problem with the drop is reported at once, as sentences, so a creator fixing one field per round trip is not forced into three.supplyis fixed at creation and never changes, because every sold edition's buyer was promised a collection of a given size; at most 10,000.drop_update— Patch one of the caller's own drops: its name, ticker, description, image, price, or payout address. Free — it costs no credits, takes no signature, and moves no money. The whole patched drop is re-validated as a unit rather than field by field, because two of the mistakes only appear when the MERGED record is judged: lowering a price to zero on a drop with no payout address turns a paid drop into a free one, and clearing the address on a paid drop leaves a collector's payment going nowhere. Both are refused naming the field.priceUsdapplies to editions NOT YET MINTED; an edition already sold keeps the price it was sold for. An explicitnullclearsdescription,creatorAddress, orimageUrl; an absent field leaves it alone. This tool cannot publish a drop. Settingstatusis absent on purpose:livemakes the mint page publicly reachable, which is an irreversible step and therefore an approval in putty's model, and a direct tool call has no run to gate it.supplyis absent because a drop that has sold editions cannot change how many editions exist.
The full request and response shape for each, and a live playground, live on the generated reference at GET /mcp/tools.
Creator
List, read, create, and patch a drop. Free, reversible, and scoped to the caller.
drop_list
List the drops the authenticated caller owns, newest first: name, symbol, description, the brand kit it renders with, the image, the exact USD price an edition costs, the payout address, whether it is `draft` or `live`, the supply, and the public mint page path. Takes no arguments, costs nothing, and reads the caller's own records only. Call it before `drop_get`, `drop_update`, or `drop_create` — a drop is scoped to its owner, and a drop that belongs to someone else reads the same as one that does not exist, so this list is the only place an id can honestly come from. `supply` is `{ total, minted, remaining }`; `priceUsd` is an exact decimal string, never a float, so a price at the top of the range is not silently rounded. `mintPageUrl` is a path on the api origin, not an absolute link — resolve it against the host you are talking to. This tool does not mint, publish, or charge anything.