Sv Number

io.github.sv-numberPublished by GitHub account sv-numberv1.0.2Updated Oct 25, 2026

Phone numbers for AI agents: order a private number, read the SMS verification code, hand it back.

Overview

AI-generated overview

Lets an AI assistant rent a private phone number, wait for the SMS verification code, and return it, through a paid SMS-activation service.

What you can do
Check account balance and browse available countries and services, with prices and delivery rates, to pick a number to order. Order a private number for one service in one country, then poll until the SMS verification code arrives and return it parsed. Close a successful activation, cancel one for a refund, or request another SMS on the same number. Compute an authenticator (TOTP) code locally.
When to use it
Useful when an assistant must complete a sign-up or login that requires SMS verification and you are willing to pay per activation. Not for sending SMS, receiving calls, or holding a long-term number.
Requirements
Runs locally over stdio via npx (Node.js). Requires a funded account on the SMS-verification-number service and an API key supplied in the SVN_API_KEY environment variable; there is no free tier. Optional settings cover API base URL, language/currency, and polling interval.
Before you install
The service is commercial: ordering numbers spends account balance, and cancellations are the way to recover money. The API key is a paid credential and should be kept out of shared configs. The numbers are not meant for banking, payment, or government accounts. Ordering, cancelling, and requesting extra SMS change account state.

Installation

In SourceWeft

  1. Open Sv Number in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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 5678wait_for_code(activationId)             ->  123456finish_activation(activationId)         ->  done

Install

Claude Code:

bash
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):

json
{  "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

ToolWhat it does
get_balancewhat is left on the account
list_countriesevery country with its id and operators
list_servicesfind 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_numberorder a private number for one service in one country
wait_for_codepoll until the code lands and return it, already parsed out of the SMS
finish_activationclose a successful activation
cancel_activationcancel and get the money back
request_another_smsask for one more code on the same number
totp_codecompute 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

Every call carries lang. The API answers without it, but then it prices in another currency, so the server never leaves it out. Text markers that the API returns instead of JSON are checked before anything is parsed, and turned into a sentence an agent can act on: NO_NUMBERS becomes "change country, or set operator to any" rather than a bare token. Polling runs at a sane interval instead of hammering getStatus, and wait_for_code stops at the 20 minute life of a number.

What it is not

Receiving verification codes is the whole job. These numbers do not send SMS, do not take calls, and are not meant for banking, payment or government accounts. An agent that needs a permanent number to hold a conversation wants a carrier product instead.

Config

VariableDefault
SVN_API_KEYrequired
SVN_API_BASEhttps://sms-verification-number.com/stubs/handler_api
SVN_LANGen, sets both the language and the currency of the answers
SVN_POLL_SECONDS4

Related

MIT. The service behind it is commercial.

Source: README.md at commit a57f15f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts