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_..."}}}'
  1. claude.ai: Settings → Connectors → add a custom connector with the URL above.
  2. ChatGPT apps / Gemini: point the MCP connector at the same URL (creating custom apps needs a Business/Enterprise/Edu plan).
  3. Buyer flow: uxc_view_door shows the price + per-coin accepts[] (address + exact amount), pay on-chain from your own wallet, then uxc_verify_payment with 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 challenge
uxc_get_marketpublic cross-merchant catalog of payable checkouts
uxc_get_servicespublic cross-provider services catalog
uxc_search_catalogsearch a merchant catalog (text + filters)
uxc_get_productfetch one catalog product
uxc_lookup_productsbatch catalog lookup
uxc_create_checkoutUCP checkout session (multi-item cart)
uxc_get_checkoutfetch a checkout session
uxc_complete_checkoutmint payment challenges (ready_for_complete)
uxc_cancel_checkoutcancel a checkout session
uxc_get_orderview a session as an order (fulfillment status)
uxc_discover_serversevery u.cash MCP server: surface, auth, transports
uxc_discover_toolssearch tools across the whole u.cash MCP fleet

List 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" }
    }
  }
}
  1. 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).
  2. Point args at your local agents/mcp/server.php and put your key in UXC_API_KEY.
  3. 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, wallets
uxc_get_settingsconfirmations, webhook, currency, branding
uxc_set_settingspartial settings update
uxc_get_webhookwebhook config (masked)
uxc_set_webhookset the webhook URL (+ secret, shown once)
uxc_rotate_webhook_secretrotate the HMAC secret
uxc_verify_webhook_signaturelocal HMAC check - no key

Card rail (Stripe)

uxc_set_stripeconnect your own Stripe for card payments
uxc_get_stripeStripe config (masked)
uxc_clear_stripedisconnect Stripe

Integrations · wallets · tokens

uxc_get_integrationsstored credentials (Discord, Telegram, carts)
uxc_set_integrationsstore integration credentials
uxc_set_walletset your receive address for an asset
uxc_get_walletsreceive wallet map
uxc_set_wallet_activepause/enable a coin
uxc_delete_walletstop accepting a coin
uxc_set_custom_tokenaccept a custom ERC-20/TRC-20/SPL/TON token
uxc_get_custom_tokenslist custom tokens
uxc_delete_custom_tokenremove a custom token

Resources & 402 doors

uxc_create_resourcecreate a priced resource (fiat or token)
uxc_list_resourceslist your resources
uxc_get_resourcefetch one resource
uxc_create_challengemint the per-coin 402 challenge
uxc_set_resource_capper-caller spend cap (402 cap-before-charge)
uxc_get_resource_callersper-caller settled-spend ledger
uxc_view_doorinspect the 402 door for a resource - no key
uxc_verify_paymentverify an on-chain payment - no key

Public catalogs · UCP checkout (all keyless)

uxc_get_marketcross-merchant market catalog
uxc_get_servicescross-provider services catalog
uxc_search_catalogmerchant catalog search
uxc_get_productone catalog product
uxc_lookup_productsbatch product lookup
uxc_create_checkoutUCP checkout session
uxc_get_checkoutfetch a session
uxc_complete_checkoutmint challenges (AP2 mandate optional)
uxc_cancel_checkoutcancel a session
uxc_get_ordersession as order (fulfillment)

Payment requests · top-up

uxc_create_payment_requestone-off /id/ link that closes when paid
uxc_get_payment_requestfetch one request
uxc_list_payment_requestslist one-off requests
uxc_top_upcredit top-up checkout ($1 min)

Transactions & settlements

uxc_get_settlementssettlement history
uxc_get_transactionsfull history + filters
uxc_get_transactionone transaction / its webhook log
uxc_refund_transactionrefund via a connected refunds rail
uxc_resend_webhookforce a webhook re-delivery
uxc_submit_hashattach an on-chain hash to a transaction

Stores (sub-merchants)

uxc_get_storeslist stores
uxc_create_storenew sub-merchant (credentials shown once)
uxc_update_storelabel / webhook URL
uxc_delete_storedelete a store
uxc_rotate_store_credentialrotate api_key / cloud_token / webhook
uxc_test_store_webhooksend a test webhook

Shop products · landers

uxc_get_shop_productsstorefront items
uxc_create_shop_productnew product
uxc_update_shop_productpartial product update
uxc_delete_shop_productremove a product
uxc_get_landerslanders + lead-gen offers
uxc_create_landerone-item landing page (slot-gated)
uxc_update_landerlander theme/copy or offer status
uxc_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 request
uxc_complete_payoutmark paid out of band
uxc_get_discount_codeslist discount codes
uxc_add_discount_codeadd a code (price multiplier)
uxc_set_discount_codesreplace the code list
uxc_delete_discount_coderemove a code
uxc_get_custom_fieldscheckout form fields
uxc_add_custom_fieldadd a field
uxc_set_custom_fieldsreplace the field list
uxc_delete_custom_fieldremove a field

Billing · subagents (RBAC) · sandbox

uxc_get_billingcredit, fee points, lander slots
uxc_buy_lander_packbuy reusable lander slots
uxc_redeem_ucashpoints → fee credit
uxc_get_subagentsscoped sa_ keys (never returns keys)
uxc_create_subagentrole-scoped key (key shown once)
uxc_update_subagentrole / permissions / suspend
uxc_rotate_subagent_keyrotate a subagent key
uxc_delete_subagentdelete a subagent
uxc_get_sandbox_keyslist sandbox keys (masked)
uxc_create_sandbox_keymint sk_test_/pk_test_ (shown once)
uxc_rotate_sandbox_keyrotate a sandbox key
uxc_revoke_sandbox_keyrevoke a sandbox key
uxc_simulate_paymentsandbox confirmations - no key
uxc_signupregister an account, mint your key - no key

Fleet discovery (keyless)

uxc_discover_serversevery u.cash MCP server: surface, auth, transports
uxc_discover_toolssearch tools across the whole u.cash MCP fleet

Package & listings

  1. Source + MCP server + SDKs: github.com/UdotCash/agents (JS @ucash/agents on npm, Python agents-u-cash on PyPI).
  2. Hosted buyer endpoint: https://mcp.u.cash/ - list it as a remote MCP server in any client or directory.
  3. Claude Code seller skill: skills/sell/SKILL.md in the repo (key → wallet → resource → webhook → settlement, scripted).
  4. SDK hub: sdk.u.cash · docs: docs.u.cash · protocol: 402.onl.