MCP-сервер для ИИ

MCP-сервер SMSBulk

Используйте SMSBulk прямо из Claude Desktop, Cursor или любого MCP-совместимого клиента — заказывайте SMS-номера и одноразовые адреса электронной почты и считывайте коды.

Model Context Protocol (MCP) позволяет ИИ-ассистентам вызывать внешние инструменты. Этот сервер с открытым исходным кодом подключает API SMSBulk к вашему ИИ-клиенту, без бизнес-логики и без хранения секретов.

Открытый код на GitHub

Что он делает

Сервер — это чистый ретранслятор: он пересылает каждый запрос в публичный API SMSBulk, используя ваш собственный API-ключ. Он предоставляет 18 инструментов в четырёх группах — каталог, SMS, кошелёк и электронная почта.

В отличие от провайдеров, предлагающих только SMS, SMSBulk поддерживает проверку и по телефону, и по электронной почте. У инструментов электронной почты нет аналогов в большинстве конкурирующих MCP-серверов.

Установка

Требуется Node.js 18 или новее. Клонируйте репозиторий, установите зависимости и соберите проект:

git clone https://github.com/Tolunay3434/smsbulk-mcp.git
cd smsbulk-mcp
npm install
npm run build

Затем укажите вашему MCP-клиенту собранный dist/index.js. Инструменты каталога работают без ключа; всем остальным нужен ваш API-ключ SMSBulk.

Настройка клиента

Claude Desktop

{
  "mcpServers": {
    "smsbulk": {
      "command": "node",
      "args": ["/absolute/path/to/smsbulk-mcp/dist/index.js"],
      "env": {
        "SMSBULK_API_KEY": "your_api_key_here",
        "MAX_SPEND_PER_SESSION": "5"
      }
    }
  }
}

Добавьте это в claude_desktop_config.json и перезапустите Claude Desktop. Инструменты SMSBulk появятся в меню инструментов.

Cursor

{
  "mcpServers": {
    "smsbulk": {
      "command": "node",
      "args": ["/absolute/path/to/smsbulk-mcp/dist/index.js"],
      "env": {
        "SMSBULK_API_KEY": "your_api_key_here"
      }
    }
  }
}

Добавьте это в ~/.cursor/mcp.json (глобально) или .cursor/mcp.json (для проекта).

Замените /absolute/path/to/smsbulk-mcp на реальный путь, куда вы клонировали репозиторий. Никогда не публикуйте свой API-ключ.

Справочник инструментов

18 инструментов. Инструменты каталога не требуют ключа; остальные отправляют ваш x-api-key.

Каталог

API-ключ не требуется
list_services

Все активные сервисы со сводкой по наличию и минимальной цене.

list_countries

Все поддерживаемые страны с флагами и ISO-кодами.

get_serviceslug

Один сервис по SEO-слагу или коду сервиса.

get_service_countriesslug

Страны с наличием для сервиса, с ценами, наличием и уровнями скорости.

SMS-проверка

Требуется API-ключ
request_numberserviceCode, countryIso, operator?, idempotency_token?Списывает

Резервирует номер для SMS-проверки. С защитой от повторов.

get_statusid

Статус и SMS-код (после получения) для одной активации.

completeid

Отмечает активацию как завершённую. Это окончательно.

cancelid

Отменяет активацию; возвращает средства в кошелёк, если SMS не пришло.

request_resendid

Просит провайдера отправить ещё одно SMS на тот же номер.

list_activationslimit?, cursor?, status?

Ваши активации с курсорной пагинацией, сначала новые.

Кошелёк

Требуется API-ключ
get_balance

Текущий баланс вашего кошелька.

list_transactionslimit?, cursor?

Недавние пополнения, списания и возвраты.

Проверка по почте

Требуется API-ключНет на серверах только для SMS
email_get_domainssite

Доступные домены почтовых провайдеров для целевого сайта, с ценами и наличием.

email_requestsite, domain, idempotency_token?Списывает

Резервирует одноразовый адрес электронной почты. С защитой от повторов.

email_listlimit?

Ваши недавние почтовые активации, сначала новые (до 100, без курсора).

email_get_statusid

Статус, разобранный OTP и необработанное HTML-тело (после получения).

email_reorderidСписывает

Повторно открывает тот же адрес для нового OTP.

email_cancelid

Отменяет; возвращает средства в кошелёк, если OTP не пришёл.

Безопасность и ограничения

Эти меры — ремни безопасности для удобства, а не гарантии.

Защита от повторов по мере возможностей — не гарантированная идемпотентность

request_number и email_request хранят небольшую защиту в памяти, которая отлавливает распространённый случайный случай: если один и тот же инструмент заказа вызван дважды за сессию с одинаковыми аргументами, второй вызов возвращает первый результат вместо повторного списания. Это не гарантированная идемпотентность — она существует только в памяти этого процесса, сбрасывается при перезапуске, не согласуется между клиентами и не может предотвратить настоящую гонку на стороне сервера. Чтобы безопасно повторить один заказ, передайте тот же idempotency_token; чтобы намеренно сделать второй заказ, передайте другой.

Мягкий лимит расходов (MAX_SPEND_PER_SESSION)

Когда лимит задан, сервер отслеживает реальную стоимость каждого успешного заказа и блокирует следующий заказ, как только сумма достигает вашего лимита. Он мягкий и хранится в памяти — сбрасывается при перезапуске, действует только для этой сессии и блокирует следующий запрос, а не делит один. Заказ, сделанный, пока вы ещё ниже лимита, разрешается, даже если он выводит сумму за предел. Это дополнительный слой поверх серверных ограничений вашего аккаунта (баланс, дневная квота, лимиты частоты).

Внедрите проверку в свой ИИ-рабочий процесс

Клонируйте сервер, добавьте свой API-ключ и заказывайте SMS- или почтовые коды прямо из ассистента.