The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Codasms MCP listing page.
Receive one-time SMS/OTP verification codes from your AI agent. An MCP server over the CODASMS Reseller API — get a number, wait for the code, release it — across 700+ services and 180+ countries, pay only on delivery.
This server lets an AI agent (Claude Desktop, Cursor, or anything that speaks MCP) buy a phone number and read the verification code programmatically. It's a thin wrapper over the public CODASMS Reseller API — it holds no logic of its own; every charge and refund is decided server-side by the API.
You bring your own key. Getting one is free to sign up: https://codasms.com/reseller.
| Tool | What it does |
|---|---|
get_balance | Your current spendable balance. |
list_services | Buyable services with live price + stock (filter by service / country). |
list_countries | Countries with buyable numbers (optional service filter). |
get_number | Buy a number for a service+country. Charges your balance (auto-refunds if no code in 20 min). |
wait_for_otp | Poll an order until the code arrives (or timeout / refund). |
check_order | One-shot status check for an order. |
release | Cancel an order and refund now (unless the code already arrived). |
get_number accepts an optional max_price_cents (or set CODASMS_MAX_PRICE_CENTS) so an
autonomous agent can't buy a number priced above your cap.
Add to claude_desktop_config.json:
Then ask: "Get me a Telegram number in the UK and read the code."
The same tools are served over Streamable HTTP, so you can host one instance for many users — each sends their own key as a Bearer token (nothing is stored server-side):
src/http.ts is a portable Node server (Deno Deploy, Railway, Fly, any container). For
Cloudflare Workers, swap the Node http handler for a fetch handler — the server factory in
src/server.ts is transport-agnostic and stays unchanged.
| Env var | Purpose | Default |
|---|---|---|
CODASMS_API_KEY | Your coda_live_ reseller key (stdio mode). | — (required) |
CODASMS_API_BASE | API base URL. | https://api.codasms.com |
CODASMS_MAX_PRICE_CENTS | Global cap for get_number, in US cents. | unset |
PORT | HTTP mode port. | 8080 |
wait_for_otp polls no faster than
once every 5s by default to stay well under it.get_number spends real balance the moment it's called. If no code arrives,
the order auto-refunds after 20 minutes, or call release to refund immediately.tg, wa, country 6) — use
list_services / list_countries to discover them.MIT — see LICENSE.