{"serverId":"mcp-registry/cash.u/ucash-pay","tools":[{"name":"uxc_cancel_checkout","fixed":{"name":"uxc_cancel_checkout","description":"Cancel a UCP checkout session. No key; pass cloud for a hosted merchant.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"cloud":{"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":"uxc_complete_checkout","fixed":{"name":"uxc_complete_checkout","description":"Mint payment challenges for a checkout session -> ready_for_complete. Optional ap2 (AP2 checkout mandate). No key; pass cloud for a hosted merchant.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"ap2":{"type":"string","description":"optional AP2 checkout mandate"},"cloud":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":106,"tokensAfter":106},{"name":"uxc_create_checkout","fixed":{"name":"uxc_create_checkout","description":"Create a UCP checkout session (multi-item, mixed-currency cart) for a merchant catalog. No key. Returns {id, status, currency, line_items, totals, ap2}.","inputSchema":{"type":"object","required":["line_items"],"properties":{"buyer":{"type":"string"},"cloud":{"type":"string","description":"merchant token when buying from a hosted merchant"},"context":{"type":"string"},"currency":{"type":"string","description":"optional cart display currency"},"line_items":{"type":"array","description":"each: {item:{id}, quantity}"}}},"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":158,"tokensAfter":158},{"name":"uxc_get_checkout","fixed":{"name":"uxc_get_checkout","description":"Fetch a UCP checkout session by id (status: incomplete -> ready_for_complete -> completed). No key; pass cloud for a hosted merchant.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"cloud":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"uxc_get_market","fixed":{"name":"uxc_get_market","description":"The PUBLIC cross-merchant market catalog: every published checkout across merchants (id, title, price, currency, merchant, domain, payable url). No key. q filters by title/merchant/description.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"filter by title/merchant/description"},"limit":{"type":"integer","default":50,"maximum":200},"fields":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Optional response projection: dot paths to keep, e.g. [\"items.title\",\"items.price\"] or row-level [\"title\",\"price\"]. Envelope/meta keys (ok, success, total, count, pagination) are always kept; unknown paths are ignored; empty/absent = full response."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":209,"tokensAfter":209},{"name":"uxc_get_order","fixed":{"name":"uxc_get_order","description":"View a UCP checkout session as an order (per-item fulfillment status + fulfillment events). No key; pass cloud for a hosted merchant.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"cloud":{"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":80,"tokensAfter":80},{"name":"uxc_get_product","fixed":{"name":"uxc_get_product","description":"Fetch a single catalog product by id. Public (no key); pair with uxc_search_catalog to find ids.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"cloud":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"uxc_get_services","fixed":{"name":"uxc_get_services","description":"The PUBLIC cross-provider services catalog (eSend rail: each row carries the provider contact email, a sendable asset code and a price). No key.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":50,"maximum":200},"fields":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Optional response projection: dot paths to keep, e.g. [\"items.asset\",\"items.price\"] or row-level [\"asset\",\"price\"]. Envelope/meta keys (ok, success, total, count, pagination) are always kept; unknown paths are ignored; empty/absent = full response."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":175,"tokensAfter":175},{"name":"uxc_lookup_products","fixed":{"name":"uxc_lookup_products","description":"Batch catalog lookup by ids. Public (no key).","inputSchema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string"}},"cloud":{"type":"string"},"fields":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Optional response projection: dot paths to keep, e.g. row-level [\"id\",\"title\",\"price\"]. Envelope/meta keys (ok, success, total, count, pagination) are always kept; unknown paths are ignored; empty/absent = full response."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":151,"tokensAfter":151},{"name":"uxc_search_catalog","fixed":{"name":"uxc_search_catalog","description":"Search a merchant catalog (text query + price filters + pagination). The merchant is resolved from a cloud token (the \"cloud\" argument) or the platform default. No key.","inputSchema":{"type":"object","properties":{"cloud":{"type":"string"},"query":{"type":"string"},"filters":{"type":"string"},"pagination":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"uxc_verify_payment","fixed":{"name":"uxc_verify_payment","description":"BUYER-SIDE. After paying a resource (from uxc_view_door) on-chain from your own wallet, submit the transaction hash to settle it. Pass the challengeId from the accepts[] entry you paid and the on-chain transaction hash. Returns settled (confirmed) or pending (awaiting confirmations). No seller key needed - the challengeId identifies the resource, and settlement is gated by on-chain confirmation.","inputSchema":{"type":"object","required":["challengeId","hash"],"properties":{"hash":{"type":"string"},"challengeId":{"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":162,"tokensAfter":162},{"name":"uxc_view_door","fixed":{"name":"uxc_view_door","description":"Fetch the public 402 payment door for a resource (what a buyer sees at https://agents.u.cash/r/{res_id}): the price + the multi-coin accepts[] (each asset, the seller receive address, and the exact amount to pay). No key. Use as a BUYER to see what to pay, then uxc_verify_payment after paying. status=true polls settlement without minting a new challenge.","inputSchema":{"type":"object","required":["res_id"],"properties":{"res_id":{"type":"string"},"status":{"type":"boolean","description":"poll mode: GET /r/{id}?status=1 - no-mint settlement check"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":166,"tokensAfter":166}],"toolsChanged":12,"tokensSaved":0,"todo":[{"tool":"uxc_cancel_checkout","params":["id","cloud"]},{"tool":"uxc_complete_checkout","params":["id","cloud"]},{"tool":"uxc_create_checkout","params":["buyer","context"]},{"tool":"uxc_discover_tools","params":["limit"]},{"tool":"uxc_get_checkout","params":["id","cloud"]},{"tool":"uxc_get_market","params":["limit"]},{"tool":"uxc_get_order","params":["id","cloud"]},{"tool":"uxc_get_product","params":["id","cloud"]},{"tool":"uxc_get_services","params":["limit"]},{"tool":"uxc_lookup_products","params":["ids","cloud"]},{"tool":"uxc_search_catalog","params":["cloud","query","filters","pagination"]},{"tool":"uxc_verify_payment","params":["hash","challengeId"]},{"tool":"uxc_view_door","params":["res_id"]}],"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."}