SV Number MCP Server

by sv-number (community) · Claude Desktop, Claude Code, OpenCode, любой MCP-клиент, Windows, macOS, Linux

MCP MCP Servers Open Source активный

MCP-сервер для AI-агентов, которым нужен телефонный номер: заказ приватного номера в 200+ странах, чтение SMS-кода верификации, всё одним API-вызовом.


Установка
# Claude Code:
claude mcp add sv-number --env SVN_API_KEY=your_key_here -- npx -y sv-number-mcp

# Codex / Cursor / Claude Desktop (добавить в JSON-конфиг):
{
  "mcpServers": {
    "sv-number": {
      "command": "npx",
      "args": ["-y", "sv-number-mcp"],
      "env": { "SVN_API_KEY": "your_key_here" }
    }
  }
}
показать оригинал переведено ИИ

SV Number MCP-сервер

Номера телефонов как инструменты. Ваш агент заказывает приватный номер в той стране, которую ожидает сервис, считывает код подтверждения из SMS прямо из API и возвращает номер обратно. Девять инструментов поверх stdio, никакой SDK учить не нужно.

200+ стран — самый широкий охват в этой категории. Каждое другое утверждение на этой странице тоже можно проверить, но для этого хватит одного вызова: запустите list_countries и посчитайте строки.

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

Установка

Claude Code:

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

Всё, что читает JSON-конфиг (Codex, Cursor, Claude Desktop):

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

Ключ берётся из вашего профиля после регистрации. Баланс должен быть пополнен: бесплатного тарифа у этого API нет. Ключ читается из переменных окружения и никогда не покидает процесс: ни один инструмент его не возвращает и ни одно сообщение об ошибке его не цитирует.

Инструменты

Инструмент Что делает
get_balance сколько осталось на счёте
list_countries все страны с их id и операторами
list_services найти код сайта: поиск по названию или домену, лучшее совпадение первым, цена, сколько номеров онлайн и доля кодов, которые реально дошли
order_number заказать приватный номер для одного сервиса в одной стране
wait_for_code опрашивать, пока код не придёт, и вернуть его, уже извлечённым из SMS
finish_activation закрыть успешную активацию
cancel_activation отменить активацию и вернуть деньги
request_another_sms запросить ещё один код на тот же номер
totp_code вычислить код аутентификатора локально, по RFC 6238

list_services отвечает списком matches, отсортированным от лучшего совпадения, плюс notInList — резервным сервисом. Он принимает название сайта или URL, поэтому discord.com находит Discord, и ставит целое слово выше подстроки, поэтому по запросу x вариант X.com (Twitter) оказывается выше Maxim. Коды произвольны, и их никогда нельзя вспоминать по памяти: uk — это Airbnb, re — это Coinbase, tn — это LinkedIn. Когда ничего не совпало, ответ так и говорит и указывает на другую страну, потому что каталог везде разный, а также на ot («Not on list»), который принимает SMS от любого отправителя, отсутствующего в списке. Сайт со своим собственным кодом отправляет сообщения именно на этот код, поэтому ot — это запасной вариант, а не подстановочный знак.

deliveredPercent — это доля доставленных сообщений для данной пары «сервис + страна», и null, когда у такой пары пока нет статистики, что является обычным случаем. Если число есть, выбирайте по нему, а не по цене; если его нет, online показывает размер живого пула номеров — это следующий по полезности сигнал.

Что сервер берёт на себя

Каждый вызов передаёт lang. API отвечает и без него, но тогда цены будут в другой валюте, поэтому сервер никогда его не опускает. Текстовые маркеры, которые API возвращает вместо JSON, проверяются до какого-либо разбора и превращаются в предложение, с которым агент может работать: NO_NUMBERS превращается в «смените страну или задайте оператору значение any», а не в голый токен. Опрос идёт с разумным интервалом вместо того, чтобы долбить getStatus, а wait_for_code останавливается по истечении 20 минут жизни номера.

Чем это не является

Приём кодов подтверждения — единственная задача этих номеров. Они не отправляют SMS, не принимают звонки и не предназначены для банковских, платёжных или государственных аккаунтов. Агенту, которому нужен постоянный номер для ведения переписки, нужен продукт оператора связи.

Конфигурация

Переменная Значение по умолчанию
SVN_API_KEY обязательна
SVN_API_BASE https://sms-verification-number.com/stubs/handler_api
SVN_LANG en, задаёт и язык, и валюту ответов
SVN_POLL_SECONDS 4

См. также

  • Тот же продукт в виде markdown-навыка: https://github.com/sv-number/skills
  • Справочник API: https://sms-verification-number.com/en/api-sms-activate/
  • Охват и цены: https://sms-verification-number.com/en/number-for-ai-agents/

Лицензия MIT. Сам сервис за ней коммерческий.

Войдите, чтобы оставить комментарий