MCP servers
Two servers, one payments network. A hosted keyless buyer MCP at mcp.u.cash - any agent can pay any u.cash resource, no account. And a full stdio seller server (88 tools) that manages your own pay.u.cash account: resources, wallets, storefronts, settlements. Every payment settles over HTTP 402, direct to your own wallet. 402 Online Protocol ↗
Buyer MCP - hosted, no key
One URL, zero setup: https://mcp.u.cash/. It speaks MCP Streamable HTTP (stateless JSON-RPC over POST) and exposes the public buyer surface - the 402 door, payment verify, public catalogs, and UCP checkout sessions. No account, no key, no OAuth. Budget: 60 tool calls per minute per client.
# Claude Code
claude mcp add --transport http ucash-pay https://mcp.u.cash/
# Any JSON-RPC client
curl -s https://mcp.u.cash/ -H "Content-Type: application/json" -d \
'{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"uxc_view_door","arguments":{"res_id":"res_..."}}}'
- claude.ai: Settings → Connectors → add a custom connector with the URL above.
- ChatGPT apps / Gemini: point the MCP connector at the same URL (creating custom apps needs a Business/Enterprise/Edu plan).
- Buyer flow:
uxc_view_doorshows the price + per-coin accepts[] (address + exact amount), pay on-chain from your own wallet, thenuxc_verify_paymentwith the challengeId + tx hash to settle.
uxc_view_doorthe 402 door: price + accepts[] (status=true polls settlement)uxc_verify_paymentsubmit the tx hash to settle a paid challengeuxc_get_marketpublic cross-merchant catalog of payable checkoutsuxc_get_servicespublic cross-provider services cataloguxc_search_catalogsearch a merchant catalog (text + filters)uxc_get_productfetch one catalog productuxc_lookup_productsbatch catalog lookupuxc_create_checkoutUCP checkout session (multi-item cart)uxc_get_checkoutfetch a checkout sessionuxc_complete_checkoutmint payment challenges (ready_for_complete)uxc_cancel_checkoutcancel a checkout sessionuxc_get_orderview a session as an order (fulfillment status)uxc_discover_serversevery u.cash MCP server: surface, auth, transportsuxc_discover_toolssearch tools across the whole u.cash MCP fleetList tools (uxc_get_market, uxc_get_services, uxc_lookup_products, ...) accept an optional fields projection: pass dot paths like ["id","title","price"] and the response is trimmed to those paths - envelope keys (count, pagination) always survive. The whole fleet - this buyer server, the 88-tool seller, prime - is cataloged in the machine-readable /mcp-fleet.json manifest the discovery tools read.
Seller MCP - stdio, 88 tools
Runs locally with your API key (from POST /v1/signup - instant, works at $0). Source: github.com/UdotCash/agents (mcp/server.php, plain PHP + curl, no dependencies). Docker: ghcr.io/udotcash/agents-u-cash-mcp.
# Claude Code
git clone https://github.com/UdotCash/agents && cd agents
claude mcp add agents --env UXC_API_KEY=your_key -- php mcp/server.php
# Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"agents-u-cash": {
"command": "php",
"args": ["/path/to/agents/mcp/server.php"],
"env": { "UXC_API_KEY": "your_key" }
}
}
}
- Sign up (
POST /v1/signup) for an API key. It works instantly at $0. Verify your email any time for $5 free credit (up to $2,500 in transactions). - Point
argsat your localagents/mcp/server.phpand put your key inUXC_API_KEY. - Restart the client - the
uxc_*tools appear. Payments always settle direct to your own wallet; the platform never holds funds.
Seller tool catalog
Account & settings
uxc_get_agentaccount, activation, balances, walletsuxc_get_settingsconfirmations, webhook, currency, brandinguxc_set_settingspartial settings updateuxc_get_webhookwebhook config (masked)uxc_set_webhookset the webhook URL (+ secret, shown once)uxc_rotate_webhook_secretrotate the HMAC secretuxc_verify_webhook_signaturelocal HMAC check - no keyCard rail (Stripe)
uxc_set_stripeconnect your own Stripe for card paymentsuxc_get_stripeStripe config (masked)uxc_clear_stripedisconnect StripeIntegrations · wallets · tokens
uxc_get_integrationsstored credentials (Discord, Telegram, carts)uxc_set_integrationsstore integration credentialsuxc_set_walletset your receive address for an assetuxc_get_walletsreceive wallet mapuxc_set_wallet_activepause/enable a coinuxc_delete_walletstop accepting a coinuxc_set_custom_tokenaccept a custom ERC-20/TRC-20/SPL/TON tokenuxc_get_custom_tokenslist custom tokensuxc_delete_custom_tokenremove a custom tokenResources & 402 doors
uxc_create_resourcecreate a priced resource (fiat or token)uxc_list_resourceslist your resourcesuxc_get_resourcefetch one resourceuxc_create_challengemint the per-coin 402 challengeuxc_set_resource_capper-caller spend cap (402 cap-before-charge)uxc_get_resource_callersper-caller settled-spend ledgeruxc_view_doorinspect the 402 door for a resource - no keyuxc_verify_paymentverify an on-chain payment - no keyPublic catalogs · UCP checkout (all keyless)
uxc_get_marketcross-merchant market cataloguxc_get_servicescross-provider services cataloguxc_search_catalogmerchant catalog searchuxc_get_productone catalog productuxc_lookup_productsbatch product lookupuxc_create_checkoutUCP checkout sessionuxc_get_checkoutfetch a sessionuxc_complete_checkoutmint challenges (AP2 mandate optional)uxc_cancel_checkoutcancel a sessionuxc_get_ordersession as order (fulfillment)Payment requests · top-up
uxc_create_payment_requestone-off /id/ link that closes when paiduxc_get_payment_requestfetch one requestuxc_list_payment_requestslist one-off requestsuxc_top_upcredit top-up checkout ($1 min)Transactions & settlements
uxc_get_settlementssettlement historyuxc_get_transactionsfull history + filtersuxc_get_transactionone transaction / its webhook loguxc_refund_transactionrefund via a connected refunds railuxc_resend_webhookforce a webhook re-deliveryuxc_submit_hashattach an on-chain hash to a transactionStores (sub-merchants)
uxc_get_storeslist storesuxc_create_storenew sub-merchant (credentials shown once)uxc_update_storelabel / webhook URLuxc_delete_storedelete a storeuxc_rotate_store_credentialrotate api_key / cloud_token / webhookuxc_test_store_webhooksend a test webhookShop products · landers
uxc_get_shop_productsstorefront itemsuxc_create_shop_productnew productuxc_update_shop_productpartial product updateuxc_delete_shop_productremove a productuxc_get_landerslanders + lead-gen offersuxc_create_landerone-item landing page (slot-gated)uxc_update_landerlander theme/copy or offer statusuxc_delete_landerdelete a lander (frees the slot)Payouts · discounts · checkout fields
uxc_create_payout_infoOTC payout request (wallet/PayPal ask)uxc_get_payout_infoview a payout requestuxc_complete_payoutmark paid out of banduxc_get_discount_codeslist discount codesuxc_add_discount_codeadd a code (price multiplier)uxc_set_discount_codesreplace the code listuxc_delete_discount_coderemove a codeuxc_get_custom_fieldscheckout form fieldsuxc_add_custom_fieldadd a fielduxc_set_custom_fieldsreplace the field listuxc_delete_custom_fieldremove a fieldBilling · subagents (RBAC) · sandbox
uxc_get_billingcredit, fee points, lander slotsuxc_buy_lander_packbuy reusable lander slotsuxc_redeem_ucashpoints → fee credituxc_get_subagentsscoped sa_ keys (never returns keys)uxc_create_subagentrole-scoped key (key shown once)uxc_update_subagentrole / permissions / suspenduxc_rotate_subagent_keyrotate a subagent keyuxc_delete_subagentdelete a subagentuxc_get_sandbox_keyslist sandbox keys (masked)uxc_create_sandbox_keymint sk_test_/pk_test_ (shown once)uxc_rotate_sandbox_keyrotate a sandbox keyuxc_revoke_sandbox_keyrevoke a sandbox keyuxc_simulate_paymentsandbox confirmations - no keyuxc_signupregister an account, mint your key - no keyFleet discovery (keyless)
uxc_discover_serversevery u.cash MCP server: surface, auth, transportsuxc_discover_toolssearch tools across the whole u.cash MCP fleetPackage & listings
- Source + MCP server + SDKs: github.com/UdotCash/agents (JS
@ucash/agentson npm, Pythonagents-u-cashon PyPI). - Hosted buyer endpoint: https://mcp.u.cash/ - list it as a remote MCP server in any client or directory.
- Claude Code seller skill:
skills/sell/SKILL.mdin the repo (key → wallet → resource → webhook → settlement, scripted). - SDK hub: sdk.u.cash · docs: docs.u.cash · protocol: 402.onl.