{"serverId":"mcp-registry/com.market0x/marketplace","tools":[{"name":"get_listing_details","fixed":{"name":"get_listing_details","description":"Full detail for one order including a FRESH live-contents snapshot (principal, claimable rewards, voting/earning power, as_of_block).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["orderHash"],"properties":{"orderHash":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93},{"name":"get_listings","fixed":{"name":"get_listings","description":"Active listings/auctions for a market. Each row carries the ask and the position's underlying contents priced at current market (published formula: /docs#data-sources), plus discountPct (the difference between them). Sorted by discount percentage, descending.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["marketId"],"properties":{"kind":{"enum":["listing","dutch_auction","offer"],"type":"string"},"limit":{"type":"number","maximum":100,"minimum":1},"marketId":{"type":"string","description":"market id, e.g. 'vehydx'"},"nameContains":{"type":"string","maxLength":64,"description":"case-insensitive substring match on the listing's label (the name on name markets, e.g. 'alice'; 'veAERO #123' elsewhere)"},"minDiscountPct":{"type":"number","description":"only return orders at >= this discount %. IGNORED on markets whose asset has no priced underlying, where there is nothing to compare the ask against — the response says so in `note` rather than returning an empty market."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":298,"tokensAfter":298},{"name":"get_orders","fixed":{"name":"get_orders","description":"List orders created by an address (its listings, auctions, offers). Status is reconciled by the background worker — treat as advisory until checked at fill.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["offerer"],"properties":{"status":{"enum":["active","filled","cancelled","expired"],"type":"string"},"offerer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"get_owned_positions","fixed":{"name":"get_owned_positions","description":"List the positions an address owns in a market, with listability (voted/attached positions can't transfer).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["marketId","owner"],"properties":{"owner":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"marketId":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"get_recent_trades","fixed":{"name":"get_recent_trades","description":"Recently settled sales for a market. `amount` is the EXACT settled total (incl. fee) from the on-chain fill where the indexer recorded it, with `settledAt` the block time and `exact: true`; otherwise it falls back to the listed ask with `exact: false` (a decayed Dutch auction settles BELOW its listed amount, so treat inexact rows as an upper bound).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["marketId"],"properties":{"limit":{"type":"number","maximum":100,"minimum":1},"marketId":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":167,"tokensAfter":167},{"name":"list_micro_markets","fixed":{"name":"list_micro_markets","description":"List the markets this marketplace facilitates (asset, chain, currencies, fee).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"list_subscriptions","fixed":{"name":"list_subscriptions","description":"List a wallet's notification subscriptions (webhook URLs redacted to origin).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["wallet"],"properties":{"wallet":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":85,"tokensAfter":85},{"name":"prepare_cancel","fixed":{"name":"prepare_cancel","description":"Prepare the on-chain Seaport cancel transaction for an active order. Only the order's offerer can execute it (Seaport enforces msg.sender == offerer), so the calldata is safe to return. After it confirms, POST { txHash } to the confirm endpoint to update the book.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["orderHash"],"properties":{"orderHash":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":128,"tokensAfter":128},{"name":"prepare_listing","fixed":{"name":"prepare_listing","description":"Prepare a SELL listing or Dutch auction. Verifies the seller OWNS the position and it's transferable (not voted/attached), builds the Seaport order with the Interface fee injected by the server, and returns the one-time NFT approval + EIP-712 typed data to sign. Never signs or holds keys.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["marketId","kind","currencySymbol","seller"],"properties":{"ask":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"listing: price the seller nets — must be positive"},"kind":{"enum":["listing","dutch_auction"],"type":"string"},"name":{"type":"string","description":"name markets only, e.g. 'alice' or 'alice.base.eth' — tokenId is derived"},"endAsk":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"dutch_auction: floor price (must be below the start)"},"seller":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"tokenId":{"type":"string","description":"required for token markets (e.g. vehydx)"},"marketId":{"type":"string"},"startAsk":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"dutch_auction: starting (high) price"},"durationDays":{"type":"number","maximum":90,"minimum":1},"currencySymbol":{"enum":["USDC","WETH","HYDX","AERO","USDT","THE","KITTEN","NEST","USDG","UP"],"type":"string","description":"one of the market's settlementCurrencies (see list_micro_markets)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":401,"tokensAfter":401},{"name":"unsubscribe_notifications","fixed":{"name":"unsubscribe_notifications","description":"Delete a notification subscription. Two-step like subscribe_notifications: call without `signature` to get the message to sign. `chainId` is signed over and verified on that chain. Signed messages are single-use.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["wallet","chainId","subscriptionId","timestamp"],"properties":{"wallet":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"chainId":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991,"description":"chain the wallet signs on; it is part of the signed message"},"signature":{"type":"string"},"timestamp":{"type":"number"},"subscriptionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":260,"tokensAfter":260}],"toolsChanged":10,"tokensSaved":0,"todo":[{"tool":"get_listing_details","params":["orderHash"]},{"tool":"get_listings","params":["kind","limit"]},{"tool":"get_orders","params":["status","offerer"]},{"tool":"get_owned_positions","params":["owner","marketId"]},{"tool":"get_recent_trades","params":["limit","marketId"]},{"tool":"list_subscriptions","params":["wallet"]},{"tool":"prepare_cancel","params":["orderHash"]},{"tool":"prepare_listing","params":["kind","seller","marketId","durationDays"]},{"tool":"prepare_offer","params":["marketId","durationDays"]},{"tool":"prepare_purchase","params":["orderHash"]},{"tool":"subscribe_notifications","params":["events","wallet","channel","savedSearch"]},{"tool":"unsubscribe_notifications","params":["wallet","signature","timestamp","subscriptionId"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}