list_services
List services available for SMS activation in a country.
api_keycountry
io.github.MassimoSun由 GitHub 账号 MassimoSun 发布v0.1.3更新于 Oct 28, 2026
SMS verification for AI agents: buy a number, get the code, cancel with refund. Free sandbox.
让智能体购买真实手机号接收短信验证码、等待验证码,并可取消订单退款,费用从预付余额扣除。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.MassimoSun%2Fsmsverbot-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"smsverbot": {
"type": "http",
"url": "https://kremledroid.duckdns.org/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.
https://kremledroid.duckdns.org/mcplist_services, list_countries, get_price, buy_number, wait_for_code, cancel_order, get_balance, order_history, whoamiOpen @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.
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.
MCP-сервер, который продаёт AI-агентам номера для приёма SMS-кодов подтверждения. Это отдельный продукт, не связанный с Telegram-ботом. Работает без собственного UI и веб-фреймворка: агент подключается по stdio или streamable HTTP и вызывает инструменты MCP.
Деньги хранятся в целых копейках. Баланс предоплаченный: агент пополняет счёт, покупка номера списывает стоимость, отмена возвращает её ровно один раз.
Эндпоинт: https://kremledroid.duckdns.org/mcp (streamable HTTP, TLS).
Claude Code:
Cursor (~/.cursor/mcp.json):
VS Code (.vscode/mcp.json):
Дальше: получить API-ключ у Telegram-бота @Smsverbot, положить баланс и передать ключ одним из двух способов — заголовком Authorization: Bearer <ключ> в конфиге клиента (рекомендуется для хостед-режима) или первым аргументом api_key любого инструмента. Проверка, что ключ принят: инструмент whoami — отдаёт key_id и баланс.
mock без сети и реальный адаптер fivesim.BEGIN IMMEDIATE для всех операций с балансом.Windows (PowerShell или cmd):
Linux/macOS:
Требуется Python 3.11+. Проект проверялся на Python 3.14.
Скопируйте .env.example в .env и заполните значения. Файл .env читается автоматически, переменные окружения имеют приоритет.
Секретов в репозитории нет. Не коммитьте .env и реальные токены.
Mock-режим не делает сетевых запросов и подходит для тестов и локальной разработки:
Live-режим включается только явно:
HTTP-транспорт (streamable HTTP):
По умолчанию HTTP слушает 127.0.0.1; хост можно изменить через --host.
Открытый API-ключ показывается только при создании. В базе остаётся лишь его SHA-256.
Вторая команда пополняет баланс на 500 рублей (50000 копеек).
admin.py читает путь к базе из MCP_DB (по умолчанию ./mcp.db).
Создать ключ с меткой и сразу пополнить баланс на 500 рублей:
Показать все ключи (ID, метка, баланс в рублях):
Пополнить баланс ключа на 200 рублей:
Показать последние заказы ключа:
Открытый API-ключ показывается только один раз при создании.
Во всех примерах замените путь на абсолютный путь к server.py. Для live-режима добавьте PROVIDER и FIVESIM_TOKEN в блок env.
Файл claude_desktop_config.json:
Файл .cursor/mcp.json (или глобальный ~/.cursor/mcp.json) использует ту же схему mcpServers, что и Claude Desktop.
Публичный HTTP-сервер:
Для отдельной базы и live-провайдера передайте переменные окружения в оболочке перед запуском команды.
Зарегистрируйте 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.
Чтение каталога, цен, баланса и истории никогда не списывает деньги.
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. Пользователь обязан соблюдать правила целевых сервисов, включая их ограничения на виртуальные номера.
Тест 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-клиента.来源:README.md,提交 a21e419
List services available for SMS activation in a country.
api_keycountryList countries available for SMS activation.
api_keyGet the retail price for a service and country without buying.
api_keycountry必填service必填Buy a phone number and debit the prepaid balance.
api_keycountry必填service必填Wait for an SMS code for an existing order.
api_keyorder_id必填Cancel an order and refund the balance exactly once.
api_keyorder_id必填Return the current prepaid balance.
api_keyReturn recent orders for the API key.
limitapi_keyVerify an API key and return its id and balance in rubles.
api_key已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在仓库或注册中心条目中声明许可证。
claude mcp add --transport http smsverbot https://kremledroid.duckdns.org/mcpclaude mcp add --transport http smsverbot https://kremledroid.duckdns.org/mcp{ "mcpServers": { "smsverbot": { "url": "https://kremledroid.duckdns.org/mcp" } } }{ "servers": { "smsverbot": { "type": "http", "url": "https://kremledroid.duckdns.org/mcp" } } }python -m venv .venv.venv/Scripts/pip install -r requirements.txtpython -m venv .venv.venv/bin/pip install -r requirements.txt.venv/Scripts/python server.py --stdioset PROVIDER=fivesimset FIVESIM_TOKEN=your_token_here.venv/Scripts/python server.py --stdio.venv/Scripts/python server.py --http --port 8765.venv/Scripts/python server.py --create-key "my-agent".venv/Scripts/python server.py --topup svb_ВАШ_КЛЮЧ 500python admin.py create --label client1 --topup 500python admin.py listpython admin.py topup --key-id ID --amount 200python admin.py orders --key-id ID{ "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" } } }}claude mcp add smsverbot -- python server.py --stdioclaude mcp add --transport http smsverbot https://kremledroid.duckdns.org/mcp.venv/Scripts/python -m pytest -q tests/.venv/Scripts/python -m compileall -q .