Ucode SMS
REMOTE · MCP.UCODESIM.COM · SCANNED SEP 29
Virtual SMS OTP numbers. USDC (Base/x402) or pay-per-OTP; refund if no SMS.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (ucode_sms_cancel_rental). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 4073 tokens (~76/item across 53 items; 42 tools + 11 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage76
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 17% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 44 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
How do I install the Ucode SMS MCP server?
Ucode SMS is a hosted endpoint at https://mcp.ucodesim.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.ucodesim.com
claude mcp add --transport http uk-ucode-sms 'https://mcp.ucodesim.com/mcp'
{
"mcpServers": {
"uk-ucode-sms": {
"url": "https://mcp.ucodesim.com/mcp"
}
}
} {
"servers": {
"uk-ucode-sms": {
"type": "http",
"url": "https://mcp.ucodesim.com/mcp"
}
}
} [mcp_servers.uk-ucode-sms] url = "https://mcp.ucodesim.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"uk-ucode-sms": {
"type": "remote",
"url": "https://mcp.ucodesim.com/mcp",
"enabled": true
}
}
} openclaw mcp add uk-ucode-sms --url 'https://mcp.ucodesim.com/mcp' --transport streamable-http
mcp_servers:
uk-ucode-sms:
url: "https://mcp.ucodesim.com/mcp" {
"McpServers": {
"uk-ucode-sms": {
"Transport": "http",
"Url": "https://mcp.ucodesim.com/mcp"
}
}
} assistant mcp add uk-ucode-sms -t streamable-http -u 'https://mcp.ucodesim.com/mcp'
{
"mcpServers": {
"uk-ucode-sms": {
"type": "http",
"url": "https://mcp.ucodesim.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Sept 26 0
- Stability: unverified → 0.03 ▲ functional
- 22 Sept 26 64
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 29 Sept 2026 · Probed https://mcp.ucodesim.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=ucodesim.com | CN=YE2,O=Let's Encrypt,C=US | 28 Aug 2026 | 26 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 5491ff38cc9ea54947b33a3a92bd424ce71 |
| SANs: *.ucodesim.com, ucodesim.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.ucodesim.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| ucodesim.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.ucodesim.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.ucodesim.com/mcp | HTTPS enforced | 301 | https://mcp.ucodesim.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ucode_agent_billing Agent credits (USDC on Base) ~59
No login. Lists prepaid USDC (Base) credit packs for autonomous agents/bots and how to pay with x402. ChatGPT humans should use **ucode_render_credits** and https://ucode.uk/app/credits instead.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_app_init_snapshot App init snapshot ~48
Combined snapshot (packages, rentals, credit status, settings). Use platform web for ChatGPT (Stripe/crypto web packages); ios/android for native.
| Name | Type | Req | Description |
|---|---|---|---|
| platform | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_authenticate Link Ucode account (developer / mobile token only) ~80
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.
| Name | Type | Req | Description |
|---|---|---|---|
| accessToken | string | yes | Developer only: mobile app Bearer token — never ask end users to paste this for normal login |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_connect Connect account (in-card button) ~44
Starts browser sign-in for the visual card **Connect** button. Returns linkUrl + sessionId with uiView sign-in. Poll **ucode_login_poll** until linked.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_credit_gift_breakdown Gift credits breakdown ~20
Free-credit badges / gift breakdown.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_credit_packages List credit packages ~49
Same packs as **ucode_render_credits** (data). For ChatGPT humans prefer **ucode_render_credits** and the website dashboard. Agents: x402 USDC on Base.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_credit_referral_redeem Redeem referral code ~33
Redeem a 6-character referral code for bonus credits.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_credit_referral_stats Referral stats ~18
Referral code and earnings summary.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_credits_status Credit balance ~66
Linked wallet — **credits** are in-app points for renting numbers, not a bank balance. Always say “you have X credits”. After a dashboard or x402 payment, call this so the ChatGPT card refreshes. Never imply USD wallet unless discussing listed pack prices.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_credits_verify_app_store_purchase Verify App Store / Play purchase ~90
Server-side verify of RevenueCat / store purchase (same as mobile). Requires packageId, transactionId, productId, platform (iOS/Android), and purchaseToken for Android.
| Name | Type | Req | Description |
|---|---|---|---|
| packageId | string | yes | – |
| platform | string | yes | – |
| productId | string | yes | – |
| purchaseToken | string | – | – |
| transactionId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_disconnect Disconnect from ChatGPT ~59
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_help Ucode help (AI) ~80
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.
| Name | Type | Req | Description |
|---|---|---|---|
| question | string | yes | User question about Ucode apps, credits, rentals, SMS codes, etc. |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_instructions Ucode user guide ~70
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_login_poll Finish browser sign-in ~75
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.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionId | string | yes | sessionId returned by ucode_login_start |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_login_start Sign in with browser (recommended) ~45
Creates a one-time browser sign-in URL. Prefer the in-card **Connect** button (**ucode_connect**). Poll **ucode_login_poll(sessionId)** until linked.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_panel_ping Panel API ping ~45
Public health check against Ucode Panel (no auth). Official downloads and info: https://ucode.uk — do not use unrelated domains (e.g. ucode.io).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_payments_nowpayments_create Create crypto (NOWPayments) invoice ~96
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cancelUrl | string | – | – |
| packageId | string | yes | – |
| platform | string | – | – |
| returnUrl | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_payments_nowpayments_status NOWPayments payment status ~31
Poll invoice / payment status by NOWPayments id.
| Name | Type | Req | Description |
|---|---|---|---|
| paymentId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_payments_stripe_create_checkout Create Stripe checkout ~142
**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.
| Name | Type | Req | Description |
|---|---|---|---|
| cancelUrl | string | – | – |
| packageId | string | yes | Exact packageId from ucode_credit_packages for the pack the user chose |
| returnUrl | string | – | Success URL; default deep link if omitted |
| stripeProductId | string | – | Legacy override — omit; Panel maps Stripe from packageId. |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_payments_stripe_prices Stripe price lookup ~76
**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.
| Name | Type | Req | Description |
|---|---|---|---|
| priceIds | string | yes | Comma-separated Stripe price_… or prod_… IDs |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_payments_stripe_verify Verify Stripe checkout ~50
After Checkout completes, pass checkout **session id** plus **packageId** so Panel credits the account.
| Name | Type | Req | Description |
|---|---|---|---|
| packageId | string | yes | – |
| sessionId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_render_credits Buy credits (visual picker) ~85
Opens the **Add credits** card with the current wallet balance. ChatGPT cannot run Stripe in the iframe — the user taps through to **https://ucode.uk/app/credits**. After they pay, call **ucode_credits_status**. Agents/bots should call **ucode_agent_billing** and pay USDC on Base instead of this tool.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_render_home Home (visual card) ~54
**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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_render_services Browse apps (visual picker) ~66
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| search | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_services_catalog Services catalog (DB) ~62
Paginated Ucode service catalog with per-country availability from the Panel database.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| page | number | – | – |
| search | string | – | – |
| sortBy | string | – | – |
| sortOrder | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_session_status Session status ~59
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_sign_out Sign out ~40
Same as **ucode_disconnect** — unlinks Ucode from this ChatGPT chat. Call for sign out, log out, or disconnect requests.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_sms_active_rentals Active rentals ~24
Active/received rentals with SMS snippets if already fetched.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
ucode_sms_cancel_rental Cancel rental ~88
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.
| Name | Type | Req | Description |
|---|---|---|---|
| reason | string | yes | – |
| reasonNote | string | – | – |
| rentalId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| billingUrl | string | – | – |
| code | string | – | – |
| countryName | string | – | – |
| credits | number | – | – |
| data | object | – | – |
| endDate | string | – | – |
| error | string | – | – |
| httpStatus | number | – | – |
| neededCredits | number | – | – |
| ok | boolean | yes | – |
| phone | string | – | – |
| phoneNumber | string | – | – |
| providerRentalId | string | – | – |
| remainingSeconds | number | – | – |
| rentalId | string | – | – |
| serviceName | string | – | – |
| smsCode | string | – | – |
| summary | string | yes | – |
| uiView | string | – | – |
No examples provided.
What is the Ucode SMS MCP server?
Ucode SMS is an MCP server listed in the public MCP registry as uk.ucode/sms. Virtual SMS OTP numbers. USDC (Base/x402) or pay-per-OTP; refund if no SMS. This page covers its hosted endpoint (https://mcp.ucodesim.com/mcp).
Is the Ucode SMS MCP server safe to use?
Ucode SMS scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Ucode SMS MCP server expose?
Ucode SMS exposes 42 tools: ucode_render_home, ucode_render_services, ucode_welcome, ucode_session_status, ucode_panel_ping, and 37 more. Their descriptions and schemas cost roughly 2,566 tokens of context every time the server is loaded.
Does the Ucode SMS MCP server require authentication?
No. We connected to Ucode SMS without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Ucode SMS MCP server still maintained?
Ucode SMS is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.