MCP-сервер SMSBulk
Используйте SMSBulk прямо из Claude Desktop, Cursor или любого MCP-совместимого клиента — заказывайте SMS-номера и одноразовые адреса электронной почты и считывайте коды.
Model Context Protocol (MCP) позволяет ИИ-ассистентам вызывать внешние инструменты. Этот сервер с открытым исходным кодом подключает API SMSBulk к вашему ИИ-клиенту, без бизнес-логики и без хранения секретов.
Что он делает
Сервер — это чистый ретранслятор: он пересылает каждый запрос в публичный 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-ключНет на серверах только для SMSemail_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- или почтовые коды прямо из ассистента.
