Back to Directory/Developer Tools

io.github.ajemba/codasms-mcp

Receive one-time SMS/OTP verification codes via the CODASMS API: get a number, wait, release.

Developer ToolsTypeScriptv0.1.1

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.

License: MIT  Transport: stdio + HTTP


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.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y codasms-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-ajemba-codasms-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "codasms-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

codasms-mcpnpm

Compatible MCP Clients

io.github.ajemba/codasms-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More