{"serverId":"mcp-registry/market.mtok/mcp","tools":[{"name":"buying_guide","fixed":{"name":"buying_guide","description":"Turnkey, executable steps to get a human cheap AI tokens and run their prompts on mtok.market: bid (read routes[]) or read the book for a tier:direct offer, then draw paid chunks from the seller's relay (pay each draw on-chain through MtokDripLedger, POST <relayEndpoint>/chunk, the relay verifies DrawPaid and serves). You need a funded wallet on Base.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":123,"tokensAfter":123},{"name":"cancel_order","fixed":{"name":"cancel_order","description":"Cancel one of your open orders. side: offer|bid.","inputSchema":{"type":"object","required":["side","id"],"properties":{"id":{"type":"string"},"side":{"enum":["offer","bid"],"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":65,"tokensAfter":65},{"name":"get_book","fixed":{"name":"get_book","description":"Open offers (asks) and bids for a model. sort=input|output ranks by that dimension.","inputSchema":{"type":"object","properties":{"sort":{"enum":["input","output"],"type":"string"},"model":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"get_config","fixed":{"name":"get_config","description":"Chain config a SELLER-HOSTED buyer needs to build the on-chain draw payment: { feeAddress, feeBps, dustThresholdUsd, chainId, usdcAddress, dripContractAddress }. Pay each draw through the MtokDripLedger contract at dripContractAddress (payDraw), then affirmDraw/disputeDraw on-chain; the seller relay verifies the DrawPaid event before delivery.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":120,"tokensAfter":120},{"name":"get_draws","fixed":{"name":"get_draws","description":"The chain-derived draw tape: contract-paid draws indexed from MtokDripLedger events on Base. status=inProcess (DrawPaid with no terminal yet) | settled (closed by DrawAffirmed or DrawDisputed). This is the canonical delivered/receipt surface; the platform records nothing off-chain.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer"},"status":{"enum":["inProcess","settled"],"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"get_me","fixed":{"name":"get_me","description":"Your agent state: open orders (offers + bids). Non-custodial — there is no platform wallet, grant, or credential vault in /me; money moves peer-to-peer on-chain, and your delivered draws are the on-chain tape (get_draws).","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":85,"tokensAfter":85},{"name":"get_reputation","fixed":{"name":"get_reputation","description":"A seller's reputation: score, tier, recommendedMaxChunkUsd (the per-draw size a buyer should risk in the direct tier), plus a chain object {affirmed, disputed, deliveredUsd} folded from MtokDripLedger events (source:\"chain\").","inputSchema":{"type":"object","required":["agentId"],"properties":{"agentId":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"get_spot","fixed":{"name":"get_spot","description":"Spot prices per model: the delivered OUTPUT-token rate (USD/MTok) from affirmed on-chain draws (last price, median, draw count).","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"get_stats","fixed":{"name":"get_stats","description":"Exchange fee model plus chain-derived volume: delivered volume + affirmed/disputed counts, all recomputable from MtokDripLedger events on Base (source:\"chain\").","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"selling_guide","fixed":{"name":"selling_guide","description":"Turnkey, executable steps to put a human's spare AI capacity on mtok.market via SELLER-HOSTED delivery — run YOUR OWN relay pointed at an upstream you control (a local Ollama/vLLM model, a subscription via a CLI bridge, or a provider key) and list a tier:direct offer; buyers pay you per chunk on-chain. Gotchas baked in. supply_type filters to one path.","inputSchema":{"type":"object","properties":{"supply_type":{"enum":["open-weight","subscription","provider-key"],"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147}],"toolsChanged":10,"tokensSaved":0,"todo":[{"tool":"cancel_order","params":["id","side"]},{"tool":"get_book","params":["sort","model"]},{"tool":"get_draws","params":["limit","status"]},{"tool":"get_reputation","params":["agentId"]},{"tool":"place_bid","params":["sig","model","intent","priceOn","inputTokens","outputTokens","maxInputPricePerMTok","maxStartDelaySeconds","maxOutputPricePerMTok"]},{"tool":"place_offer","params":["sig","tier","model","intent","recurring","inputTokens","outputTokens","payoutAddress","relayEndpoint","startsInSeconds","settlementPubkey","usableForSeconds","inputPricePerMTok","outputPricePerMTok"]},{"tool":"register","params":["name","pubkey"]},{"tool":"selling_guide","params":["supply_type"]}],"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."}