io.github.ajemba/codasms-mcp
Receive one-time SMS/OTP verification codes via the CODASMS API: get a number, wait, release.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
codasms-mcpclaude mcp add codasms-mcp -e 'CODASMS_API_KEY=<your codasms_api_key>' -e 'CODASMS_MAX_PRICE_CENTS=<CODASMS_MAX_PRICE_CENTS>' -- npx -y codasms-mcp@0.1.1
{
"mcpServers": {
"codasms-mcp": {
"command": "npx",
"args": [
"-y",
"codasms-mcp@0.1.1"
],
"env": {
"CODASMS_API_KEY": "<your codasms_api_key>",
"CODASMS_MAX_PRICE_CENTS": "<CODASMS_MAX_PRICE_CENTS>"
}
}
}
}
Environment variables
CODASMS_API_KEYrequired secret Your coda_live_ reseller key from https://codasms.com/resellerCODASMS_MAX_PRICE_CENTSOptional cap (US cents) — get_number refuses numbers priced above this.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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
| 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.
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
| 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 |
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.
Frequently asked questions
What is io.github.ajemba/codasms-mcp?
Receive one-time SMS/OTP verification codes via the CODASMS API: get a number, wait, release.
How do I install io.github.ajemba/codasms-mcp?
It runs on your machine. In Claude Code: claude mcp add codasms-mcp -e 'CODASMS_API_KEY=<your codasms_api_key>' -e 'CODASMS_MAX_PRICE_CENTS=<CODASMS_MAX_PRICE_CENTS>' -- npx -y codasms-mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.ajemba/codasms-mcp need an API key?
Yes. It expects CODASMS_API_KEY, which you set in its configuration.
Is io.github.ajemba/codasms-mcp open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.ajemba/codasms-mcp?
It is published by ajemba. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.