# MCP для обмена сообщениями: как ИИ-агенты могут безопасно отправлять SMS и WhatsApp

> MCP-сервер превращает API сообщений в инструменты для ИИ-агента. Это мощно, но рискованно: агент с инструментом отправки может писать реальным клиентам. Узнайте, как работает MCP для SMS и WhatsApp, как подключиться к серверу BroadNet и какие защитные механизмы внедрить в первую очередь.

- Канонический URL: https://www.broadnet.me/ru/blog/mcp-server-sms-whatsapp-ai-agents
- Язык: ru
- Последнее обновление: 2026-09-26
- Издатель: BroadNet (https://www.broadnet.me)

- Опубликовано: 2026-09-26
- Автор: BroadNet Engineering

Сервер 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](https://modelcontextprotocol.io/specification/latest) описывает MCP как "открытый протокол, обеспечивающий бесшовную интеграцию между приложениями LLM и внешними источниками данных и инструментами". Она использует сообщения JSON-RPC 2.0 между тремя ролями: хостами (ИИ-приложение), клиентами (коннекторы внутри хоста) и серверами (сервисы, предоставляющие инструменты, ресурсы и промпты). По состоянию на 26 сентября 2026 года, последняя редакция спецификации датирована 2026-07-28.

Инструменты — это та часть, которая имеет значение для обмена сообщениями. Клиент перечисляет их с помощью tools/list, модель выбирает один из них, а клиент вызывает его с помощью tools/call. Спецификация называет инструменты «управляемыми моделью»: модель сама решает, когда их использовать. Именно поэтому инструменту отправки необходимы защитные механизмы, которые модель не сможет обойти с помощью своих рассуждений.

## Как работает сервер MCP для SMS и WhatsApp?

Путь запроса состоит из пяти переходов. Основная идея заключается в том, что сервер MCP не добавляет новых возможностей отправки; он предоставляет API, которые у вас уже есть, под тем же токеном и под тем же контролем.

1. Пользователь спрашивает ИИ-хоста, например: "отправьте обновление доставки этому клиенту на WhatsApp".
2. Модель выбирает инструмент из списка, который получил клиент MCP, например, инструмент отправки WhatsApp, и заполняет его аргументы.
3. Клиент MCP отправляет запрос tools/call в виде HTTP POST на https://mcp.broadnet.me/mcp с Bearer токеном.
4. Сервер BroadNet MCP проверяет токен и вызывает соответствующую конечную точку BroadNet API.
5. 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](https://www.broadnet.me/developers/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?

1. Получите токен из вашей учетной записи BroadNet. В портале BroadAdmin, раздел Integrations, затем MCP Integration, выдается временный ключ; постоянный ключ выдается администратором вашей учетной записи или мастер-аккаунтом.
2. Добавьте сервер в ваш клиент MCP. Большинство клиентов используют конфигурацию JSON, подобную приведенной ниже. Названия полей могут незначительно отличаться в зависимости от клиента, поэтому проверьте документацию вашего клиента.
3. Не включайте токен в файлы, которые вы фиксируете. Используйте поддержку переменных окружения вашего клиента, как это делает конфигурация ниже.
4. Откройте список инструментов и выключите каждый инструмент, который не нужен агенту.
5. Проведите тест с одним сообщением на номер, которым вы владеете, прежде чем допускать агента к данным клиентов.

```
{
  "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: message
data: {"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, и проверять статус доставки перед повторной отправкой; наши руководства по [идемпотентности](https://www.broadnet.me/developers/idempotency) и [повторным попыткам](https://www.broadnet.me/developers/retries) показывают, как это сделать.

## Какие действия по обмену сообщениями должны требовать одобрения человека?

| Действие | Предлагаемое значение по умолчанию | Почему |
|---|---|---|
| Чтение отчетов о доставке, список шаблонов | Автоматически | Только для чтения; ничего не доходит до клиента |
| Одно транзакционное сообщение одному известному клиенту, который его запросил | Автоматически в пределах лимита отправки или подтверждение одним кликом | Низкий риск, высокая ценность, легко проверить |
| Любое маркетинговое сообщение | Всегда требуется одобрение человека | Риск согласия, контента и стоимости |
| Любая отправка более чем одному получателю | Всегда требуется одобрение человека | Ошибка множится |
| Создание или отправка 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 с [быстрым стартом](https://www.broadnet.me/developers/quickstart) и [генератором curl](https://www.broadnet.me/tools/curl-generator) для потоков, которые должны выполняться одинаково каждый раз. Наш [справочник API](https://www.broadnet.me/developers/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)](https://modelcontextprotocol.io/specification/latest), доступ к данным от 26 сентября 2026 г.
- Model Context Protocol, [Транспорты (2025-06-18)](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports) и [Транспорты (2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28/basic/transports), доступ к данным от 26 сентября 2026 г.
- Model Context Protocol, [Authorization (2025-06-18)](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization), доступ к данным от 26 сентября 2026 г.
- Model Context Protocol, [Инструменты (2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28/server/tools), доступ к которым был получен 26 сентября 2026 г.
- BroadNet, [серверная документация MCP](https://www.broadnet.me/developers/mcp) и живой зонд https://mcp.broadnet.me/mcp от 26 сентября 2026 г.

Дополнительное чтение: [ИИ-агенты в клиентских сообщениях](https://www.broadnet.me/blog/ai-agents-customer-messaging-agentic-cpaas-2026) и [выбор корпоративной агентской ИИ-платформы](https://www.broadnet.me/blog/enterprise-agentic-ai-platform-2026).
