ервер MCP для обмена сообщениями предоставляет API обмена сообщениями в качестве инструментов, которые ИИ-агент может обнаруживать и вызывать через Model Context Protocol, так что ассистент может отправить SMS или WhatsApp сообщение по запросу. BroadNet запускает один из них на https://mcp.broadnet.me/mcp, используя транспорт Streamable HTTP и Bearer токен через тот же API, который обслуживает WhatsApp, SMS, RCS, Telegram, Push, Email, Messenger и Instagram. Это руководство объясняет, как это работает и, что более важно, как предотвратить отправку сообщений агентом не тем людям.
Основные выводы
- MCP — это открытый протокол, построенный на базе JSON-RPC 2.0, который позволяет ИИ-приложениям обнаруживать и вызывать внешние инструменты. Сервер MCP обмена сообщениями превращает эндпоинты отправки, шаблонов и отчетов в инструменты.
- Удаленные серверы используют транспорт Streamable HTTP: один HTTPS эндпоинт, каждое сообщение клиента — это HTTP POST. Локальные серверы обычно используют stdio.
- Сервер BroadNet MCP находится на https://mcp.broadnet.me/mcp и отклоняет любой запрос без заголовка Authorization: Bearer.
- Токен — это учетные данные для отправки. Агент действует в рамках своих разрешений точно так же, как это делал бы ваш собственный код.
- Спецификация MCP гласит, что в процессе всегда следует (SHOULD) обеспечивать участие человека, который может отклонить вызовы инструментов, и что серверы ДОЛЖНЫ ограничивать частоту вызовов инструментов. Создавайте механизмы согласия, часы тишины, лимиты и подтверждения вокруг каждого инструмента отправки.
Что такое Model Context Protocol?
Спецификация MCP описывает MCP как "открытый протокол, обеспечивающий бесшовную интеграцию между приложениями LLM и внешними источниками данных и инструментами". Она использует сообщения JSON-RPC 2.0 между тремя ролями: хостами (ИИ-приложение), клиентами (коннекторы внутри хоста) и серверами (сервисы, предоставляющие инструменты, ресурсы и промпты). По состоянию на 26 сентября 2026 года, последняя редакция спецификации датирована 2026-07-28.
Инструменты — это та часть, которая имеет значение для обмена сообщениями. Клиент перечисляет их с помощью tools/list, модель выбирает один из них, а клиент вызывает его с помощью tools/call. Спецификация называет инструменты «управляемыми моделью»: модель сама решает, когда их использовать. Именно поэтому инструменту отправки необходимы защитные механизмы, которые модель не сможет обойти с помощью своих рассуждений.
Как работает сервер MCP для SMS и WhatsApp?
Путь запроса состоит из пяти переходов. Основная идея заключается в том, что сервер MCP не добавляет новых возможностей отправки; он предоставляет API, которые у вас уже есть, под тем же токеном и под тем же контролем.
- Пользователь спрашивает ИИ-хоста, например: "отправьте обновление доставки этому клиенту на WhatsApp".
- Модель выбирает инструмент из списка, который получил клиент MCP, например, инструмент отправки WhatsApp, и заполняет его аргументы.
- Клиент MCP отправляет запрос tools/call в виде HTTP POST на https://mcp.broadnet.me/mcp с Bearer токеном.
- Сервер BroadNet MCP проверяет токен и вызывает соответствующую конечную точку BroadNet API.
- API маршрутизирует сообщение в WhatsApp или в мобильную сеть и возвращает результат, который передается обратно модели как результат работы инструмента.
В демонстрационной записи команды продукта клиент перечисляет 380 инструментов BroadNet, среди которых send_message, post_sms_send, post_whatsapp_message_send, get_whatsapp_template_list, post_whatsapp_template_send, post_rcs_message_send и get_report_delivery. Точный список зависит от версии сервера и вашей учетной записи; см. документацию сервера MCP.
Streamable HTTP или stdio: какой транспорт?
Спецификация определяет два стандартных транспорта. То, какой из них вы используете, зависит от того, где запущен сервер, и это определяет, как вы проходите аутентификацию.
| stdio | Streamable HTTP | |
|---|---|---|
| Где запущен сервер | Как подпроцесс, запускаемый клиентом, на той же машине | Как независимый сервис охватил более HTTPS |
| Как передаются сообщения | JSON-RPC с разделителем новой строки через стандартный ввод и вывод | Каждое клиентское сообщение представляет собой HTTP POST-запрос к единой конечной точке MCP; ответы возвращаются в виде JSON или потока server-sent-events |
| Как работают учетные данные | В спецификации указано, что серверам stdio следует считывать учетные данные из среды окружения | Заголовок Authorization: Bearer в каждом запросе; токены никогда не должны передаваться в строке запроса |
| Типичное использование | Локальные инструменты разработчика | Размещённые сервисы, используемые многими клиентами, такие как API для обмена сообщениями |
| BroadNet | Не предлагается | https://mcp.broadnet.me/mcp |
Для серверов HTTP редакция спецификации от 2025-06-18 также требует, чтобы серверы проверяли заголовок Origin, и рекомендует им аутентифицировать каждое соединение. Последняя редакция (2026-07-28) делает каждый запрос самодостаточным, перенося версию протокола и возможности клиента в собственные метаданные; более ранние редакции открывали сессию с помощью рукопожатия инициализации, и клиенты определяют, какую редакцию использует сервер, и переходят на предыдущую.
Как подключить ИИ-агента к серверу MCP компании BroadNet?
- Получите токен из вашей учетной записи BroadNet. В портале BroadAdmin, раздел Integrations, затем MCP Integration, выдается временный ключ; постоянный ключ выдается администратором вашей учетной записи или мастер-аккаунтом.
- Добавьте сервер в ваш клиент MCP. Большинство клиентов используют конфигурацию JSON, подобную приведенной ниже. Названия полей могут незначительно отличаться в зависимости от клиента, поэтому проверьте документацию вашего клиента.
- Не включайте токен в файлы, которые вы фиксируете. Используйте поддержку переменных окружения вашего клиента, как это делает конфигурация ниже.
- Откройте список инструментов и выключите каждый инструмент, который не нужен агенту.
- Проведите тест с одним сообщением на номер, которым вы владеете, прежде чем допускать агента к данным клиентов.
{ "mcpServers": { "broadnet": { "type": "http", "url": "https://mcp.broadnet.me/mcp", "headers": { "Authorization": "Bearer ${BROADNET_TOKEN}" } } }}Чтобы протестировать соединение без клиента, отправьте запрос инициализации самостоятельно:
curl -X POST https://mcp.broadnet.me/mcp \ -H "Authorization: Bearer $BROADNET_TOKEN" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize", "params":{"protocolVersion":"2025-06-18","capabilities":{}, "clientInfo":{"name":"curl","version":"1.0"}}}'Без заголовка сервер отклоняет вызов на уровне протокола. Это его фактический ответ на неаутентифицированный запрос инициализации, проверенный 26 сентября 2026 года:
event: messagedata: {"jsonrpc":"2.0","id":1,"error":{"code":-32001, "message":"Authorization bearer token is required. Connect with an 'Authorization: Bearer <BroadNet token>' header."}}Безопасно ли предоставлять ИИ-агенту API-ключ для отправки сообщений?
Только с установленными ограничениями. Токен является учетными данными для отправки: любой человек или любой агент, владеющий им, может отправлять сообщения с вашего аккаунта, и каждая отправка стоит денег и достигает реального человека. Агенты также действуют на основе инструкций на естественном языке, и часть этого текста поступает извне: входящее сообщение клиента или веб-страница могут содержать инструкции, которым модель может попытаться следовать. Спецификация MCP говорит об этом прямо. Она гласит, что хосты должны получать явное согласие пользователя перед вызовом любого инструмента, что в процессе всегда следует (SHOULD) обеспечивать участие человека с возможностью отклонять вызовы инструментов, и что клиенты должны относиться к аннотациям инструментов как к недоверенным, если только они не поступают от доверенного сервера.
Какие защитные механизмы мешают агенту рассылать спам клиентам?
Размещайте средства контроля там, где модель не сможет их обойти: в конфигурации клиента, в вашем собственном промежуточном ПО или в настройках аккаунта, а не в промпте.
| Риск | Контроль | Место размещения |
|---|---|---|
| Отправка сообщений пользователю, который не давал согласия | Проверяйте статус согласия и отказа перед запуском любого инструмента отправки | Ваше промежуточное ПО или CRM |
| Отправка ночью или в неподходящий день | Часы тишины согласно часовому поясу получателя и правилам рынка | Ваше промежуточное ПО |
| Использование инструментов, которые не требуются для задачи | Включите только необходимые инструменты; отключите инструменты шаблонов, онбординга и аккаунтов | Настройки инструментов клиента MCP |
| Неконтролируемые циклы и массовые рассылки | Лимиты на отправку для каждого агента и ограничения скорости; спецификация требует, чтобы серверы ограничивали скорость вызовов инструментов | Ваше промежуточное ПО и сервер |
| Дублирование сообщений после повторной попытки | Сохраняйте возвращенный ID сообщения и проверяйте его статус перед повторной отправкой | Логика вашего агента (см. руководство по идемпотентности) |
| Маркетинговое сообщение, отправленное без проверки | Одобрение человеком для любой маркетинговой рассылки или рассылки нескольким получателям | Запросы на подтверждение клиента MCP |
| Инструкции, скрытые во входящих сообщениях | Относитесь к входящим текстовым сообщениям как к данным; никогда не позволяйте им инициировать отправку без запроса пользователя | Дизайн промптов и правила утверждения в ИИ-хосте |
| Утечка токена | Временные ключи для экспериментов, переменные окружения, отзыв и повторная выдача при компрометации | Администратор аккаунта BroadNet |
| Отсутствие аудиторского следа | Логируйте каждый вызов инструмента с входными данными и результатами | Клиент MCP; спецификация гласит, что клиентам следует логировать использование инструментов |
BroadNet API не имеет заголовка идемпотентности, поэтому повторная попытка после таймаута может привести к двойной отправке. Безопасный паттерн заключается в том, чтобы сохранить ID сообщения, который возвращает API, и проверять статус доставки перед повторной отправкой; наши руководства по идемпотентности и повторным попыткам показывают, как это сделать.
Какие действия по обмену сообщениями должны требовать одобрения человека?
| Действие | Предлагаемое значение по умолчанию | Почему |
|---|---|---|
| Чтение отчетов о доставке, список шаблонов | Автоматически | Только для чтения; ничего не доходит до клиента |
| Одно транзакционное сообщение одному известному клиенту, который его запросил | Автоматически в пределах лимита отправки или подтверждение одним кликом | Низкий риск, высокая ценность, легко проверить |
| Любое маркетинговое сообщение | Всегда требуется одобрение человека | Риск согласия, контента и стоимости |
| Любая отправка более чем одному получателю | Всегда требуется одобрение человека | Ошибка множится |
| Создание или отправка WhatsApp шаблонов | Человеческое одобрение | Шаблоны проверяются Meta и представляют ваш бренд |
| Инструменты для аккаунта, биллинга или онбординга | Отключено | Агент не должен менять аккаунт, на котором он работает |
MCP или обычный REST API: какой из них должен использовать агент?
Оба достигают одной и той же платформы. Разница в том, кто решает, какой вызов совершить.
| BroadNet MCP-сервер | BroadNet REST API | |
|---|---|---|
| Кто выбирает вызов | Модель из списка инструментов | Ваш код |
| Конечная точка | https://mcp.broadnet.me/mcp | https://api.broadnet.me, например POST /sms/sendSms |
| Аутентификация | Authorization: Bearer <токен> | Authorization: Bearer <токен> |
| Клиентская библиотека | Любой клиент MCP, поддерживающий удаленные серверы и пользовательский заголовок Authorization | Один официальный SDK, @broadnet/cpaas-sdk (TypeScript/Node.js); сгенерируйте другие клиенты на основе спецификации OpenAPI |
| Лучше всего подходит для | Ассистенты, операционные помощники, разовые задачи на естественном языке | Производственные потоки с фиксированной логикой: OTP, оповещения, кампании |
Разумное разделение: используйте MCP там, где человек управляет агентом и запрос подтверждения допустим, и используйте REST API с быстрым стартом и генератором curl для потоков, которые должны выполняться одинаково каждый раз. Наш справочник API документирует эндпоинты, стоящие за инструментами MCP.
Часто задаваемые вопросы
Что такое сервер MCP для обмена сообщениями?
Сервер, который предоставляет API обмена сообщениями, такие как отправить SMS, отправить сообщение WhatsApp или получить отчет о доставке, в качестве инструментов, которые ИИ-агент может обнаружить и вызвать через Model Context Protocol.
Какой URL-адрес сервера BroadNet MCP?
https://mcp.broadnet.me/mcp. Он использует транспорт MCP Streamable HTTP и требует заголовок Authorization: Bearer с вашим BroadNet токеном в каждом запросе.
Какие ИИ-клиенты могут к нему подключиться?
Любой MCP клиент, который может подключиться к удаленному серверу через Streamable HTTP и отправить пользовательский заголовок Authorization. В демонстрационной записи BroadNet используется Cursor.
Может ли агент отправлять реальные сообщения?
Да. Инструменты действуют с разрешениями вашего токена, точно так же, как выполнялись бы ваши собственные вызовы API. Относитесь к каждой отправке как к реальной: включайте только те инструменты, которые необходимы агенту, и требуйте подтверждения перед отправками.
Как работает аутентификация Bearer с MCP?
Для HTTP клиент отправляет Authorization: Bearer, а затем токен при каждом запросе, даже в рамках одной сессии, и никогда не в строке запроса URL. Сервер BroadNet отклоняет запросы без него.
В чем разница между stdio и Streamable HTTP?
stdio запускает сервер как локальный подпроцесс и обменивается JSON-RPC, разделенными символом новой строки, через стандартный ввод и вывод. Streamable HTTP запускает сервер как веб-сервис, где каждое сообщение клиента является HTTP POST-запросом к одной конечной точке.
Как мне запретить ИИ-агенту спамить клиентов?
Применяйте проверки согласия, часы тишины и ограничения на отправку вне модели, включайте только необходимые вам инструменты, требуйте одобрения человека для маркетинговых сообщений и рассылок на несколько получателей, а также логируйте каждый вызов инструмента.
Следует ли мне использовать MCP или REST API?
Используйте MCP, когда человек управляет агентом на естественном языке. Используйте REST API или TypeScript SDK для фиксированных рабочих процессов, таких как OTP и оповещения, где ваш код, а не модель, решает, что отправлять.
Источники
- Model Context Protocol, Обзор спецификации (редакция 2026-07-28), доступ к данным от 26 сентября 2026 г.
- Model Context Protocol, Транспорты (2025-06-18) и Транспорты (2026-07-28), доступ к данным от 26 сентября 2026 г.
- Model Context Protocol, Authorization (2025-06-18), доступ к данным от 26 сентября 2026 г.
- Model Context Protocol, Инструменты (2026-07-28), доступ к которым был получен 26 сентября 2026 г.
- BroadNet, серверная документация MCP и живой зонд https://mcp.broadnet.me/mcp от 26 сентября 2026 г.
Дополнительное чтение: ИИ-агенты в клиентских сообщениях и выбор корпоративной агентской ИИ-платформы.
