CODASMS MCP Server
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.
Tools
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.
Quick start (local / stdio)
export CODASMS_API_KEY=coda_live_xxxxxxxx # from https://codasms.com/reseller
npx codasms-mcp
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"codasms": {
"command": "npx",
"args": ["-y", "codasms-mcp"],
"env": { "CODASMS_API_KEY": "coda_live_xxxxxxxx" }
}
}
}
Then ask: "Get me a Telegram number in the UK and read the code."
Remote (HTTP) mode
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):
npm run build && npm run start:http # listens on :8080, POST /mcp
POST /mcp
Authorization: Bearer coda_live_xxxxxxxx
Content-Type: application/json
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.
Configuration
Notes
- Rate limit: the API allows 60 requests/min per key;
wait_for_otppolls no faster than once every 5s by default to stay well under it. - Money safety:
get_numberspends real balance the moment it's called. If no code arrives, the order auto-refunds after 20 minutes, or callreleaseto refund immediately. - Codes: services and countries use the API's codes (e.g.
tg,wa, country6) — uselist_services/list_countriesto discover them.
Develop
npm install
npm run build # tsc -> dist/
npm start # stdio
License
MIT — see LICENSE.