io.github.ajemba/codasms-mcp

Official registry Security

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).

NPM package codasms-mcp
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
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "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_KEY required secret Your coda_live_ reseller key from https://codasms.com/reseller
  • CODASMS_MAX_PRICE_CENTS Optional 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
  1. CODASMS MCP Server
  2. Tools
  3. Quick start (local / stdio)
  4. Remote (HTTP) mode
  5. Configuration
  6. Notes
  7. Develop
  8. License

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

ToolWhat it does
get_balanceYour current spendable balance.
list_servicesBuyable services with live price + stock (filter by service / country).
list_countriesCountries with buyable numbers (optional service filter).
get_numberBuy a number for a service+country. Charges your balance (auto-refunds if no code in 20 min).
wait_for_otpPoll an order until the code arrives (or timeout / refund).
check_orderOne-shot status check for an order.
releaseCancel 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 varPurposeDefault
CODASMS_API_KEYYour coda_live_ reseller key (stdio mode).— (required)
CODASMS_API_BASEAPI base URL.https://api.codasms.com
CODASMS_MAX_PRICE_CENTSGlobal cap for get_number, in US cents.unset
PORTHTTP mode port.8080

Notes

  • Rate limit: the API allows 60 requests/min per key; wait_for_otp polls no faster than once every 5s by default to stay well under it.
  • Money safety: 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.
  • Codes: services and countries use the API's codes (e.g. tg, wa, country 6) — use list_services / list_countries to 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.