Ucode SMS

uk.ucodePublished by ucode.ukv1.1.0Updated Nov 3, 2026

Virtual phone numbers for SMS/OTP verification. Browse free; pay with credits or USDC (x402).

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Remote MCP endpoint that gives an assistant virtual phone numbers for receiving SMS and OTP verification codes.

What you can do
  • Browse available virtual phone numbers for SMS and OTP verification.
  • Receive SMS and one-time passcodes sent to a rented number.
  • Pay for number use with credits or USDC via x402.
When to use it
Useful when an assistant needs to complete phone-based verification or receive SMS codes for a service without using a personal number, and you are willing to pay per use.
Requirements
A remote streamable HTTP endpoint at the provider's host; no local package, environment variables or headers are declared. Browsing is free, but using numbers requires credits or USDC payment through x402.
Before you install
Number use is paid: credits or USDC via x402, so real money can be spent. Phone numbers and the SMS/OTP messages received are handled by a third-party provider, and codes received may grant access to the accounts they verify. No authentication method is declared in the manifest.

Installation

In SourceWeft

  1. Open Ucode SMS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/uk.ucode%2Fsms/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ucode-sms": {
      "type": "http",
      "url": "https://mcp.ucodesim.com/mcp"
    }
  }
}

Tools

50

ucode_render_home

Home (visual card)

**Call on the first user message** in every new chat. Renders the interactive Ucode card with a **Connect Ucode account** button. Until linked, only welcome/connect/login tools — never rent or checkout.

Takes no parameters.

ucode_render_services

Browse apps (visual picker)

Opens the **visual service picker** (popular apps + search). Call after sign-in or when the user wants a number — same data as **ucode_sms_summary** but optimized for the in-chat card.

Parameterslimitsearch

ucode_welcome

Welcome (start here)

Same as **ucode_render_home** — product summary + sign-in card. Prefer **ucode_render_home** on first message.

Takes no parameters.

ucode_session_status

Session status

Check whether this ChatGPT session is linked to Ucode. Use at chat start; if connected is false, run **ucode_render_home** — do not process rental requests. If they already have a live number, the card shows it.

Takes no parameters.

ucode_panel_ping

Panel API ping

Public health check against Ucode Panel (no auth). Official downloads and info: https://ucode.uk — do not use unrelated domains (e.g. ucode.io).

Takes no parameters.

ucode_agent_billing

Agent credits (USDC on Base)

No login. Lists prepaid credit packs priced in USDC on Base for autonomous agents/bots (packageId, credits, usd, payTo). Buy one with **ucode_agent_buy_credits**. Signed-in humans pay by card at https://ucode.uk/app/credits instead (**ucode_render_credits**).

Takes no parameters.

ucode_instructions

Ucode user guide

Full product guide (read-only). **Not for the first message** — use **ucode_welcome** first. If the user is not signed in, call **ucode_welcome** / **ucode_login_start** instead of answering rental questions. Official site https://ucode.uk.

Takes no parameters.

ucode_help

Ucode help (AI)

Optional natural-language help about Ucode features and flows. Uses the OpenAI key from Panel (Settings → ChatGPT App) when set, else OPENAI_API_KEY on the MCP host. Respects the “AI help” toggle in Panel.

Parametersquestionrequired

ucode_connect

Connect account (in-card button)

Starts browser sign-in for the visual card **Connect** button. Returns linkUrl + sessionId with uiView sign-in. Poll **ucode_login_poll** until linked.

Takes no parameters.

ucode_login_start

Sign in with browser (recommended)

Creates a one-time browser sign-in URL. Prefer the in-card **Connect** button (**ucode_connect**). Poll **ucode_login_poll(sessionId)** until linked.

Takes no parameters.

ucode_login_poll

Finish browser sign-in

Poll after **ucode_login_start**. Links the ChatGPT session when the user has finished in the browser — **call repeatedly** until complete; do not ask users to paste tokens or to type “done” as the only completion signal.

ParameterssessionIdrequired

ucode_authenticate

Link Ucode account (developer / mobile token only)

Hidden escape hatch: only if the user explicitly already has a mobile Bearer token and asks to use it. Do NOT suggest this for normal sign-in — use ucode_login_start + ucode_login_poll instead.

ParametersaccessTokenrequired

ucode_whoami

Who am I

Current linked Ucode user (requires ucode_login_poll complete or ucode_authenticate).

Takes no parameters.

ucode_disconnect

Disconnect from ChatGPT

Sign out / unlink this ChatGPT conversation from Ucode. Clears the MCP session only (not account deletion). Use when the user asks to sign out, log out, disconnect, or switch accounts. Shows the welcome card with **Connect** again.

Takes no parameters.

ucode_sign_out

Sign out

Same as **ucode_disconnect** — unlinks Ucode from this ChatGPT chat. Call for sign out, log out, or disconnect requests.

Takes no parameters.

ucode_credits_status

Credit balance

Linked wallet — **credits** are in-app points for renting numbers, not a bank balance. Always say “you have X credits”. After the user adds credits on the dashboard, call this so the ChatGPT card refreshes. Never imply USD wallet unless discussing listed pack prices.

Takes no parameters.

ucode_render_credits

Buy credits (visual picker)

Opens the **Add credits** card with the current wallet balance. Payments never happen in chat — the user taps through to **https://ucode.uk/app/credits**. After they add credits there, call **ucode_credits_status**. No payment details are collected in chat.

Takes no parameters.

ucode_credit_packages

List credit packages

Same packs as **ucode_render_credits** (data). Prefer **ucode_render_credits**; credits are added on the Ucode website dashboard, never in chat.

Takes no parameters.

ucode_credit_gift_breakdown

Gift credits breakdown

Free-credit badges / gift breakdown.

Takes no parameters.

ucode_credit_referral_stats

Referral stats

Referral code and earnings summary.

Takes no parameters.

ucode_credit_referral_redeem

Redeem referral code

Apply a friend's referral code (once per account, only if the referral program is active). Never guess, generate or loop over codes.

Parameterscoderequired

ucode_payments_stripe_prices

Stripe price lookup

**Rare.** Resolve fiat display for Stripe IDs — do **not** read raw **prod_**/ **price_** strings to end users; use **ucode_credit_packages** for storefront-style copy.

ParameterspriceIdsrequired

ucode_payments_stripe_create_checkout

Create Stripe checkout

**Do not use in ChatGPT.** In-card Stripe is blocked. For humans, call **ucode_render_credits** and open **https://ucode.uk/app/credits**. For agents/bots, call **ucode_agent_billing** and pay USDC on Base via x402.

ParameterscancelUrlpackageIdrequiredreturnUrlstripeProductId

ucode_payments_stripe_verify

Verify Stripe checkout

After Checkout completes, pass checkout **session id** plus **packageId** so Panel credits the account.

ParameterspackageIdrequiredsessionIdrequired

ucode_payments_nowpayments_create

Create crypto (NOWPayments) invoice

Creates a crypto invoice (NOWPayments) for human web/Telegram top-ups. ChatGPT humans should use **https://ucode.uk/app/credits** instead. Autonomous agents/bots must pay **USDC on Base via x402**, not NOWPayments.

ParametersplatformcancelUrlpackageIdrequiredreturnUrl

ucode_payments_nowpayments_status

NOWPayments payment status

Poll invoice / payment status by NOWPayments id.

ParameterspaymentIdrequired

ucode_credits_verify_app_store_purchase

Verify App Store / Play purchase

Server-side verify of RevenueCat / store purchase (same as mobile). Requires packageId, transactionId, productId, platform (iOS/Android), and purchaseToken for Android.

ParametersplatformrequiredpackageIdrequiredproductIdrequiredpurchaseTokentransactionIdrequired

ucode_services_catalog

Services catalog (DB)

Paginated Ucode service catalog with per-country availability from the Panel database.

ParameterspagelimitsearchsortBysortOrder

ucode_sms_services

SMS provider services

Low-level provider service codes — exposes internal naming. Do NOT use for normal rentals; prefer **ucode_sms_summary** or **ucode_sms_service_detail** then credits-only packages.

Takes no parameters.

ucode_sms_countries

SMS countries

Raw worldwide country id table — pairs with legacy APIs only. For renting, use **ucode_sms_summary** / **ucode_sms_service_detail** so users pick by country name + credits.

Takes no parameters.

ucode_sms_prices

SMS prices & stock (legacy)

**Avoid for ChatGPT users.** Uses backend USD-ish snapshots; assistants must guide rentals via credits-only summaries (**ucode_sms_summary**, **ucode_sms_service_detail**) and **ucode_sms_rent_packages**. Responses are partially sanitized.

Parameterscountryminutesservice

ucode_sms_summary

SMS services summary

Primary discovery: search by app/service name (e.g. Telegram, WhatsApp). Returns services with countries, **credits** only (no provider names / no USD in assistant copy). Same idea as the app Services tab. Then **ucode_sms_service_detail** or go straight to **ucode_sms_rent_packages** once service + country are chosen.

ParametersvpagelimitsearchsortBysortOrder

ucode_sms_service_detail

Service detail (countries, credits)

Load one service’s countries after you have its short **serviceCode** (from summary `service` field). Matches opening that service in the iOS/Android app: availability, credits per country. Prefer over legacy `/prices` APIs.

ParametersserviceCoderequired

ucode_sms_rent_packages

Rent packages (flow v2)

After user picks **serviceCode** + **country** (numeric id from summary/detail), list **credit-priced routes** only. Same package picker as the app (rentalFlowVersion 2). Present **credits**, recommended badge, labels — never quote USD or backend provider names.

Parameterscountryrequiredservicerequired

ucode_sms_rent_with_credits

Rent number (credits)

**Primary rental** — charges Ucode credits. Always use **rentalFlowVersion: 2** and **packageId** from **ucode_sms_rent_packages** (matches mobile). Never mention wholesale/provider IDs or dollar amounts to the user.

ParameterscountryrequiredservicerequiredpackageIdclientCreditsrentalFlowVersion

ucode_sms_rent_provider_direct

Rent number (provider balance)

**Do not use for ChatGPT end users.** Legacy rental against upstream balances — skips normal credit UX and exposes provider-era assumptions. Only **ucode_sms_rent_with_credits** with packages.

Parameterscountryservicerequired

ucode_sms_active_rentals

Active rentals

Active/received rentals with SMS snippets if already fetched.

Takes no parameters.

ucode_sms_get_code

Get SMS / OTP

Poll latest SMS for a rental id (provider rental id string).

ParametersrentalIdrequired

ucode_sms_cancel_rental

Cancel rental

Cancel an active rental and refund credits when no SMS has arrived. Requires a cancel reason for analytics. Reasons: service_rejected | number_has_account | code_not_arrived | other. If an SMS arrives during cancel, credits stay charged and the code is returned.

ParametersreasonrequiredrentalIdrequiredreasonNote

ucode_sms_refund_expired

Refund expired rentals

Trigger server-side refund scan for expired rentals (same as app).

Takes no parameters.

ucode_sms_transactions

SMS transaction history

Provider ledger audit trail — sanitized before ChatGPT. Prefer explaining rentals via **ucode_sms_active_rentals** for users.

Takes no parameters.

ucode_app_init_snapshot

App init snapshot

Combined snapshot (packages, rentals, credit status, settings). Use platform web for ChatGPT (Stripe/crypto web packages); ios/android for native.

Parametersplatform

ucode_find_numbers

Find numbers & prices (no login)

No sign-in needed. Search which apps/services (Telegram, WhatsApp, Google, OpenAI…) have virtual numbers in stock, by country, with the price in Ucode credits. Use this first whenever someone asks for a number or a price. Then: signed-in humans rent with ucode_sms_rent_packages → ucode_sms_rent_with_credits; autonomous agents use ucode_agent_buy_credits / ucode_agent_rent.

Parameterslimitsearchrequiredcountry

ucode_agent_quote

Pay-per-SMS USDC quote (no login)

Exact USDC (Base) price to rent ONE number for a service/country without prepaid credits. Use the 'service' code from ucode_find_numbers and a countryId.

Parameterscountryservicerequired

ucode_agent_buy_credits

Buy credits with USDC on Base (x402)

Autonomous agents: buy a prepaid credit pack with USDC on Base using the x402 protocol — no account or card needed. Step 1: call with {pack, acceptLawfulUse:true} (no paymentHeader) → returns PAYMENT_REQUIRED with exact x402 requirements. Step 2: sign that payment with your x402 wallet and call again with paymentHeader → credits are added and a uc_live_ API key is returned (shown once, also stored for this MCP session). Pack ids come from ucode_agent_billing (aliases: starter, plus, pro). Only spend what the user approved.

ParameterspackrequiredpaymentHeaderacceptLawfulUserequired

ucode_agent_rent

Rent a number (agent: API key or pay-per-SMS)

Rent one virtual number for a lawful SMS verification. Pays from the agent wallet when a uc_live_ API key is active (from ucode_agent_buy_credits, ucode_agent_use_api_key, or an Authorization: Bearer uc_live_… header on the MCP connection). Without a key it uses pay-per-SMS: first call returns PAYMENT_REQUIRED (x402, USDC on Base); call again with paymentHeader. Returns phone, id and pollToken → then call ucode_agent_check_sms. Signed-in human accounts should use ucode_sms_rent_with_credits instead.

ParametersapiKeycountrypurposerequiredservicerequiredpaymentHeaderacceptLawfulUserequired

ucode_agent_check_sms

Check SMS for an agent rental

Poll an agent rental for the SMS/OTP. Pass id and pollToken from ucode_agent_rent (or rely on the session API key).

ParametersidrequiredpollToken

ucode_agent_wallet

Agent wallet balance

Credit balance of the agent wallet behind the active uc_live_ API key.

ParametersapiKey

ucode_agent_use_api_key

Use an existing agent API key

Activate a previously issued uc_live_ agent API key for this MCP session (for clients that cannot set an Authorization header).

ParametersapiKeyrequired

ucode_agent_cancel

Cancel an agent rental (refund credits)

Cancel an agent rental when no SMS arrived; credits return to the agent wallet. Requires the uc_live_ API key.

ParametersidrequiredreasonrequiredreasonNote

Version history

2
  1. v1.1.0LatestSep 29, 2026
  2. v1.0.1Sep 22, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.