Skip to content

MCP Server

MCP server for AI agents that need a phone number: order a private number in 200+ countries, read the SMS verification code, hand it back. The widest country coverage in the…

Install

$git clone https://github.com/sv-number/mcp-server

Install command taken from the project's README or registry entry. Always review code before running it.

SV Number MCP server

Phone numbers as tools. Your agent orders a private number in the country a service expects, reads the SMS verification code straight from the API, and hands the number back. Nine tools over stdio, no SDK to learn.

200+ countries, the widest coverage in this category. Every other claim on this page is checkable too, but this one takes a single call: run list_countries and count the rows.

order_number(service="tg", country=6)   ->  +62 838 1234 5678
wait_for_code(activationId)             ->  123456
finish_activation(activationId)         ->  done

Install

Claude Code:

claude mcp add sv-number --env SVN_API_KEY=your_key_here -- npx -y sv-number-mcp

Anything that reads a JSON config (Codex, Cursor, Claude Desktop):

{
  "mcpServers": {
    "sv-number": {
      "command": "npx",
      "args": ["-y", "sv-number-mcp"],
      "env": { "SVN_API_KEY": "your_key_here" }
    }
  }
}

The key comes from your profile after signup. The balance has to be funded: there is no free tier on this API. The key is read from the environment and never leaves the process, no tool returns it and no error message quotes it.

Tools

Tool What it does
get_balance what is left on the account
list_countries every country with its id and operators
list_services find the code for a site: search by name or domain, best match first, price, how many are online, and the share of codes that actually arrived
order_number order a private number for one service in one country
wait_for_code poll until the code lands and return it, already parsed out of the SMS
finish_activation close a successful activation
cancel_activation cancel and get the money back
request_another_sms ask for one more code on the same number
totp_code compute the authenticator code locally, by RFC 6238

list_services answers with matches ranked best first plus notInList, the fallback service. It takes a site name or a URL, so discord.com finds Discord, and it ranks a whole word above a substring so x puts X.com (Twitter) above Maxim. Codes are arbitrary and must never be recalled from memory: uk is Airbnb, re is Coinbase, tn is LinkedIn. When nothing matches, the answer says so and points at another country, because the catalogue is not the same everywhere, and at ot ("Not on list"), which receives SMS from any sender that is not in the list. A site that has its own code sends to that code, so ot is a fallback and not a wildcard.

deliveredPercent is the delivery rate for that service and country, and null when the pair has no statistics yet, which is the common case. Where there is a number, pick by it instead of by price; where there is not, online shows how big the live pool is, which is the next best signal.

What the server handles for you

Similar plugs

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io