プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Smsverbot MCP

作者:MassimoSunバージョン 0.1.3i★ –iクラウドで動く
レジストリ名io.github.MassimoSun/smsverbot-mcp

インストール

概要

作者による説明(英語の原文)

SMS verification for AI agents: buy a number, get the code, cancel with refund. Free sandbox.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: クラウドで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: 開発者ツール

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://kremledroid.duckdns.org/mcp

ターミナルでこれを実行します

claude mcp add --transport http smsverbot https://kremledroid.duckdns.org/mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "smsverbot": {
      "url": "https://kremledroid.duckdns.org/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "smsverbot": {
      "type": "http",
      "url": "https://kremledroid.duckdns.org/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://kremledroid.duckdns.org/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

ツールの名前と説明は、サーバーが2026年11月7日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。

  • list_services

    List services available for SMS activation in a country.

  • list_countries

    List countries available for SMS activation.

  • get_price

    Get the retail price for a service and country without buying.

  • buy_number

    Buy a phone number and debit the prepaid balance.

  • wait_for_code

    Wait for an SMS code for an existing order.

  • cancel_order

    Cancel an order and refund the balance exactly once.

  • get_balance

    Return the current prepaid balance.

  • order_history

    Return recent orders for the API key.

  • whoami

    Verify an API key and return its id and balance in rubles.

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント MassimoSun で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • ✓ 合格

    エンドポイントが応答する

    300ミリ秒で応答(HTTP 200)

  • – 対象外

    OAuthでサインイン

    サインイン不要

  • ✓ 合格

    ツールの説明に隠れた指示がない

    9件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした

開発者ツールのほかのサーバーとの比較i

  • このカテゴリのほかの4906件のうち0%よりスターが多い
  • このカテゴリのほかの4906件のうち70%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの4906件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Smsverbot MCPは安全ですか?

当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.3)がレジストリに届いたのは16 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

パソコンでもクラウドでも★ 34,245MIT4 日前更新
インストール

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

パソコンで動く★ 10,225MIT16 日前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

smsverbot-mcp

SMS verification for AI agents. An MCP server that lets an agent buy a real phone number, wait for the confirmation code, and cancel the order with a refund if the code never arrives. Remote streamable-HTTP endpoint, prepaid balance, pay-as-you-go — no subscriptions.

Works with Claude Code, Cursor, VS Code, Codex, Hermes and any MCP client. Keywords: MCP server, model context protocol, SMS verification, SMS activation, virtual numbers, AI agents, phone verification.

  • Endpoint: https://kremledroid.duckdns.org/mcp
  • Tools: list_services, list_countries, get_price, buy_number, wait_for_code, cancel_order, get_balance, order_history, whoami

Step 1 — get your key in the bot

Open [@Smsverbot](https://t.me/Smsverbot) in Telegram, press 🤖 MCP для агентов (or send /api_key). The bot gives you the API key and shows your balance. The balance is shared with the bot: top up once — the same money pays for both numbers bought in the chat and numbers bought by your agent. No separate account, no card, no crypto wallet needed for MCP.

Step 2 — try the free sandbox first

Press 🧪 Тестовый режим in the same menu. A sandbox key buys fake numbers (+10000000000) and returns the fixed code 123456 after ~4 seconds, costs nothing, and never touches real providers. Build and debug your integration for free, then switch to a real key when you are ready.

Step 3 — connect

claude mcp add --transport http smsverbot https://kremledroid.duckdns.org/mcp

Badges


MCP-сервер, который продаёт AI-агентам номера для приёма SMS-кодов подтверждения. Это отдельный продукт, не связанный с Telegram-ботом. Работает без собственного UI и веб-фреймворка: агент подключается по stdio или streamable HTTP и вызывает инструменты MCP.

Деньги хранятся в целых копейках. Баланс предоплаченный: агент пополняет счёт, покупка номера списывает стоимость, отмена возвращает её ровно один раз.

Подключение за 30 секунд (хостед, без установки)

Эндпоинт: https://kremledroid.duckdns.org/mcp (streamable HTTP, TLS).

Claude Code:

claude mcp add --transport http smsverbot https://kremledroid.duckdns.org/mcp

Cursor (~/.cursor/mcp.json):

{ "mcpServers": { "smsverbot": { "url": "https://kremledroid.duckdns.org/mcp" } } }

VS Code (.vscode/mcp.json):

{ "servers": { "smsverbot": { "type": "http", "url": "https://kremledroid.duckdns.org/mcp" } } }

Дальше: получить API-ключ у Telegram-бота @Smsverbot, положить баланс и передать ключ одним из двух способов — заголовком Authorization: Bearer <ключ> в конфиге клиента (рекомендуется для хостед-режима) или первым аргументом api_key любого инструмента. Проверка, что ключ принят: инструмент whoami — отдаёт key_id и баланс.

Возможности

  • 9 MCP-инструментов для каталога, цен, покупки, ожидания кода, отмены, баланса, истории и проверки ключа.
  • Провайдер-агностичный слой: детерминированный mock без сети и реальный адаптер fivesim.
  • SQLite с WAL и транзакциями BEGIN IMMEDIATE для всех операций с балансом.
  • Ключи API хранятся только как SHA-256; открытый ключ показывается один раз.
  • Идемпотентный возврат средств при отмене.
  • Ограничения частоты и дневной лимит на ключ.

Установка

Windows (PowerShell или cmd):

python -m venv .venv

.venv/Scripts/pip install -r requirements.txt

Linux/macOS:

python -m venv .venv

.venv/bin/pip install -r requirements.txt

Требуется Python 3.11+. Проект проверялся на Python 3.14.

Настройка

Скопируйте .env.example в .env и заполните значения. Файл .env читается автоматически, переменные окружения имеют приоритет.

ПеременнаяПо умолчаниюНазначение
MCP_DB./mcp.dbПуть к SQLite-базе
MCP_API_KEYпустоКлюч по умолчанию для stdio-клиентов, если api_key передан пустым
PROVIDERmockmock или fivesim
FIVESIM_TOKENпустоТокен 5sim, обязателен для fivesim
MCP_MARKUP2.5Наценка к закупочной цене
RATE_LIMIT_PER_15MIN20Лимит покупок на ключ за 15 минут
DAILY_CODE_LIMIT200Дневной лимит заявок на ключ (UTC)
CODE_WAIT_SECONDS120Максимальное ожидание SMS-кода
USD_KOP_RATE9200Курс USD→RUB в копейках за доллар

Секретов в репозитории нет. Не коммитьте .env и реальные токены.

Запуск

Mock-режим не делает сетевых запросов и подходит для тестов и локальной разработки:

.venv/Scripts/python server.py --stdio

Live-режим включается только явно:

set PROVIDER=fivesim

set FIVESIM_TOKEN=your_token_here .venv/Scripts/python server.py --stdio

HTTP-транспорт (streamable HTTP):

.venv/Scripts/python server.py --http --port 8765

По умолчанию HTTP слушает 127.0.0.1; хост можно изменить через --host.

Ключи и пополнение

Открытый API-ключ показывается только при создании. В базе остаётся лишь его SHA-256.

.venv/Scripts/python server.py --create-key "my-agent"

.venv/Scripts/python server.py --topup svb_ВАШ_КЛЮЧ 500

Вторая команда пополняет баланс на 500 рублей (50000 копеек).

Админ: выдача ключей

admin.py читает путь к базе из MCP_DB (по умолчанию ./mcp.db).

Создать ключ с меткой и сразу пополнить баланс на 500 рублей:

python admin.py create --label client1 --topup 500

Показать все ключи (ID, метка, баланс в рублях):

python admin.py list

Пополнить баланс ключа на 200 рублей:

python admin.py topup --key-id ID --amount 200

Показать последние заказы ключа:

python admin.py orders --key-id ID

Открытый API-ключ показывается только один раз при создании.

Подключение MCP-клиентов

Во всех примерах замените путь на абсолютный путь к server.py. Для live-режима добавьте PROVIDER и FIVESIM_TOKEN в блок env.

Claude Desktop

Файл claude_desktop_config.json:

{

"mcpServers": { "smsverbot": { "command": "C:/path/to/.venv/Scripts/python.exe", "args": ["C:/path/to/smsverbot-mcp/server.py", "--stdio"], "env": { "MCP_DB": "C:/path/to/smsverbot-mcp/mcp.db", "PROVIDER": "mock" } } } }

Cursor

Файл .cursor/mcp.json (или глобальный ~/.cursor/mcp.json) использует ту же схему mcpServers, что и Claude Desktop.

Claude Code
claude mcp add smsverbot -- python server.py --stdio

Публичный HTTP-сервер:

claude mcp add --transport http smsverbot https://kremledroid.duckdns.org/mcp

Для отдельной базы и live-провайдера передайте переменные окружения в оболочке перед запуском команды.

Hermes и другие MCP-клиенты

Зарегистрируйте stdio-сервер с командой python и аргументами server.py --stdio, либо подключите HTTP-транспорт по адресу http://127.0.0.1:8765/mcp. Передайте MCP_DB и при необходимости PROVIDER/FIVESIM_TOKEN через env.

Инструменты

Все инструменты принимают api_key первым аргументом. Если передать пустую строку, используется MCP_API_KEY из окружения. Успех: {"ok": true, ...}. Ошибка: {"ok": false, "error": "CODE", "message": "..."}. Коды ошибок: UNAUTHORIZED, INSUFFICIENT_FUNDS, RATE_LIMITED, DAILY_LIMIT, ORDER_NOT_FOUND, NO_NUMBERS, UNAVAILABLE, UPSTREAM_ERROR, INTERNAL.

ИнструментОписание
list_services(country="indonesia")Список доступных сервисов
list_countriesСписок доступных стран
get_price(service, country)Розничная цена без покупки и списания
buy_number(service, country)Купить номер и списать баланс
wait_for_code(order_id)Дождаться SMS-кода по заказу
cancel_order(order_id)Отменить заказ и вернуть деньги один раз
get_balance()Текущий баланс в копейках и рублях
order_history(limit=10)Последние заказы ключа
whoamiПроверить ключ: key_id и баланс в рублях

Чтение каталога, цен, баланса и истории никогда не списывает деньги.

Биллинг

  • Все суммы хранятся и списываются в целых копейках; денежные операции не используют float.
  • Закупочная цена cost_kop берётся у провайдера.
  • Розничная цена: price_kop = max(ceil(cost_kop * MCP_MARKUP), cost_kop + 1000), затем округление вверх до 100 копеек.
  • Покупка: сначала создаётся заказ в статусе waiting, затем баланс списывается атомарно. При нехватке средств заказ отменяется у провайдера и помечается cancelled.
  • wait_for_code только опрашивает провайдера. Таймаут переводит ответ в pending, деньги не возвращаются.
  • Отмена возвращает полную розничную цену, если заказ был в статусе waiting/open. Повторная отмена возвращает refunded_kop: 0.
  • Каждое изменение баланса фиксируется в таблице ledger: topup, debit, refund.

Лимиты

  • RATE_LIMIT_PER_15MIN — скользящее окно на ключ, по умолчанию 20 запросов покупки за 15 минут.
  • DAILY_CODE_LIMIT — число незавершённых отменой заказов на ключ за сутки UTC, по умолчанию 200.
  • CODE_WAIT_SECONDS — максимум ожидания кода, по умолчанию 120 секунд; опрос каждые 2 секунды.
  • Таймаут ожидания не освобождает номер и не возвращает деньги; для возврата вызовите cancel_order.

AUP: допустимое и запрещённое использование

Разрешено:

  • легальная регистрация и подтверждение собственных аккаунтов;
  • автоматизация тестирования собственных продуктов;
  • сценарии, где использование временного номера не нарушает правила сервиса и законодательство.

Запрещено:

  • мошенничество, спам, обход банов и массовое создание фейковых аккаунтов;
  • покупка номеров для преступлений или нарушения законов;
  • перепродажа доступа способом, скрывающим конечного пользователя от проверки;
  • использование сервиса лицами младше установленного законом возраста.

Оператор вправе заблокировать ключ и отказать в обслуживании при нарушении AUP. Пользователь обязан соблюдать правила целевых сервисов, включая их ограничения на виртуальные номера.

Проверка

.venv/Scripts/python -m pytest -q tests/

.venv/Scripts/python -m compileall -q .

Тест tests/test_mcp_client.py запускает сервер по stdio через официальный MCP-клиент, проверяет ровно 9 инструментов и читает баланс из общей тестовой базы.

Структура

  • config.py — настройки из окружения.
  • store.py — SQLite, ключи, заказы, ledger, лимиты.
  • providers/ — протокол, mock- и 5sim-адаптеры.
  • service.py — бизнес-логика цен, покупки, ожидания и отмены.
  • server.py — FastMCP, 9 инструментов и CLI.
  • admin.py, admin_service.py — админ-CLI и операции с ключами в рублях.
  • tests/ — сервисные тесты и интеграционный тест MCP-клиента.
PopNxに聞く