MCP — программный интерфейс

Кроме REST, у GetMyBot есть интерфейс MCP (Model Context Protocol) — он рассчитан на ИИ-агентов и ассистентов, которые вызывают инструменты, а не дёргают эндпоинты вручную. REST остаётся первичным интерфейсом; MCP — удобная альтернатива для агентных сценариев. Имена инструментов, ресурсов и промптов ниже совпадают с тем, что публикует сервер.

Адрес и авторизация

MCP доступен по эндпоинту /mcp (транспорт Streamable HTTP, метод POST). Авторизация — тот же персональный токен, что и для REST: заголовок Authorization: Bearer mbp_…. Отдельные токены заводить не нужно — один PAT работает и для REST, и для MCP. Каждый инструмент требует того же scope, что и соответствующий REST-эндпоинт; токен со scope * имеет полный доступ. Если scope не хватает — вызов отклоняется (fail-closed), как и в REST.

Подключение к Claude Code / Cursor

Добавьте GetMyBot как удалённый MCP-сервер. Пример конфигурации (mcpServers) — подставьте свой домен и токен:

{
  "mcpServers": {
    "mybot": {
      "url": "https://ваш-домен/mcp",
      "headers": {
        "Authorization": "Bearer mbp_ВАШ_ТОКЕН"
      }
    }
  }
}

Claude Code: положите этот блок в .mcp.json проекта или добавьте сервер командой claude mcp add. Cursor: добавьте тот же блок в настройки MCP (Settings → MCP → Add server). После подключения клиент получит список инструментов, ресурсов и промптов автоматически.

Инструменты по доменам

Сервер публикует 100 инструментов — полное покрытие PAT-доступного REST. Ниже — инструмент и требуемый scope. Имена в формате глагол_существительное (snake_case).

Боты (bots)

  • list_botsbots:read
  • get_botbots:read
  • validate_bot_tokenbots:write
  • connect_botbots:write
  • update_botbots:write
  • delete_botbots:write
  • sync_botbots:write
  • change_bot_tokenbots:write
  • transfer_botbots:write
  • get_bot_settingssettings:read
  • update_bot_settingssettings:write

Каналы и WhatsApp-шаблоны (bots)

Мультиканальность (Telegram + WhatsApp + VK) доступна и через MCP. Каналы и шаблоны гейтятся общими scope bots:read / bots:write — отдельного channel-scope нет.

  • list_channelsbots:read — список каналов бота (platform tg/wa/vk, external_id, name, enabled, callback_url).
  • connect_channelbots:write — подключить канал WhatsApp или VK (platform + creds).
  • delete_channelbots:write — отключить канал.
  • list_wa_templatesbots:read — каталог WhatsApp-шаблонов канала (name, language, status, category, body).
  • sync_wa_templatesbots:write — пересинхронизировать каталог шаблонов из Meta.
  • create_wa_templatebots:write — создать WhatsApp-шаблон и отправить на модерацию Meta.
  • update_wa_templatebots:write — изменить шаблон (в статусах APPROVED/REJECTED/PAUSED).
  • delete_wa_templatebots:write — удалить шаблон.

Telegram-каналы подключаются через connect_bot, а не connect_channel — последний рассчитан только на wa и vk. Категории шаблонов: MARKETING / UTILITY / AUTHENTICATION. create_wa_template сразу отправляет черновик на модерацию Meta; статус меняется асинхронно — читайте его через list_wa_templates (при необходимости обновив каталог sync_wa_templates).

Загрузка медиа-заголовка шаблона (изображение/видео/документ) через MCP пока не поддерживается — только через web-интерфейс или REST POST /api/bots/{botID}/channels/{channelID}/templates/media.

Реакции (reactions)

  • list_reactionsreactions:read
  • get_reactionreactions:read
  • create_reactionreactions:write
  • update_reactionreactions:write
  • delete_reactionreactions:write
  • import_reactionsreactions:write
  • test_formulareactions:write
  • reorder_reactionreactions:write
  • get_reaction_linksreactions:read
  • list_reaction_foldersreactions:read
  • create_reaction_folderreactions:write
  • update_reaction_folderreactions:write
  • delete_reaction_folderreactions:write
  • add_reaction_to_folderreactions:write
  • remove_reaction_from_folderreactions:write
  • add_reactions_to_folderreactions:write

Импорт через import_reactions создаёт реакции, но пропускает медиа: в MCP-контексте нет premium-проверки и Telegram-приёмника для файлов. Если в бандле SamBot есть картинки/видео/документы — используйте полнофункциональный REST-импорт (POST /api/bots/{botID}/reactions/import), он переносит и медиа.

Рассылки (broadcasts)

  • start_broadcastbroadcasts:write (опц. paid, опц. сегмент по меткам)
  • get_broadcastbroadcasts:write
  • pause_broadcastbroadcasts:write
  • resume_broadcastbroadcasts:write
  • cancel_broadcastbroadcasts:write

Метки (labels)

  • list_labelslabels:read
  • create_labellabels:write
  • delete_labellabels:write
  • set_label_favoritelabels:write

Коллекции и записи (collections)

  • list_collectionscollections:read
  • create_collectioncollections:write
  • update_collectioncollections:write
  • delete_collectioncollections:write
  • list_recordscollections:read
  • create_recordcollections:write
  • update_recordcollections:write
  • delete_recordcollections:write

Сценарии (flows)

  • list_flowsflows:read
  • get_flowflows:read
  • create_flowflows:write
  • update_flowflows:write
  • delete_flowflows:write

Интеграции, подключения, доступы (integrations)

  • list_integrationsintegrations:read
  • get_integration_sheetsintegrations:read
  • get_integration_statusintegrations:read
  • create_integrationintegrations:write
  • update_integrationintegrations:write
  • delete_integrationintegrations:write
  • rotate_integration_tokenintegrations:write
  • list_connectionsintegrations:read
  • create_connectionintegrations:write
  • test_connectionintegrations:write
  • update_connectionintegrations:write
  • delete_connectionintegrations:write
  • list_credentialsintegrations:read
  • create_credentialintegrations:write
  • update_credentialintegrations:write
  • delete_credentialintegrations:write

Медиа (media)

  • upload_mediamedia:write
  • get_mediamedia:write

Шаблоны (templates)

  • list_templatestemplates:read
  • delete_templatetemplates:write
  • create_template_from_bottemplates:write
  • apply_templatetemplates:write

Подписчики, чаты, диалоги (subscribers)

  • list_subscriberssubscribers:read (пагинация offset/limit, фильтры по меткам)
  • list_chatssubscribers:read
  • list_dialogssubscribers:read — треды операторского инбокса: подписчик, платформа, превью последнего сообщения, last_seen; keyset-пагинация через cursor/next_cursor.
  • read_dialogsubscribers:read — сообщения диалога, старые страницы через before_id; у расшифрованных аудио/видео-сообщений в meta приходят transcript_status/transcript/transcript_error.
  • send_dialog_messagesubscribers:write — операторская отправка текста подписчику: учитывает 24-часовое окно WhatsApp и маршрутизацию каналов, расход метерится по владельцу токена.
  • send_dialog_reactionsubscribers:write — отправить подписчику готовую реакцию бота (как кнопка «отправить реакцию» в операторском чате).
  • transcribe_dialog_messagesubscribers:write — запустить или получить расшифровку аудио/видео-сообщения. Идемпотентный: первый вызов ставит фоновую задачу ({"status":"pending"}), поллинг повторным вызовом до {"status":"done","text":…}; неудачная расшифровка перезапускается автоматически. Нужна интеграция «Распознавание речи» у бота.

Статистика и аналитика (stats)

  • get_statsstats:read
  • get_stats_summarystats:read
  • get_stats_recentstats:read
  • get_stats_logstats:read
  • get_reaction_healthstats:read
  • get_analyticsstats:read
  • get_analytics_chatsstats:read
  • get_funnelstats:read

Биллинг — чтение (billing)

  • get_balancebilling:read
  • list_tariffsbilling:read
  • get_transactionsbilling:read

Отправка сообщений

  • send_messagebroadcasts:write — отправка сообщения от имени бота; расход баланса учитывается автоматически по владельцу токена.

Ресурсы

Помимо инструментов сервер отдаёт ресурсы — их можно читать, чтобы не угадывать структуру:

  • mybot://openapi.yaml — полная OpenAPI-спека (та же, что отдаётся по /openapi.yaml).
  • mybot://reference — компактный справочник: список инструментов с их scope и конвенции (базовый адрес, пагинация, формат ошибок, лимиты).
  • mybot://schemas/reaction, mybot://schemas/trigger, mybot://schemas/action, mybot://schemas/flow, mybot://schemas/collection — JSON-схемы конфигов. Самое ценное для корректной генерации реакций (триггер, условия, чаты, действия), сценариев и коллекций.
  • mybot://bots — динамический список ваших ботов (быстрый контекст без вызова инструмента).

Промпты

Готовые сценарии (slash-команды у MCP-клиента):

  • setup_autoresponder — собрать бота-автоответчик (аргументы: бот, тема/набор вопросов).
  • segment_broadcast — рассылка по сегменту меток (аргументы: бот, метки, реакция/текст).
  • diagnose_reaction — разобраться, почему реакция не срабатывает (читает реакцию, reaction-health и порядок).
  • import_from_sambot — провести импорт бандла SamBot и проверить результат.
  • weekly_report — сводка по статистике/аналитике бота за период.

Когда выбирать MCP, а когда REST

  • Пишете интеграцию, синхронизацию, скрипт или собственную панель — берите REST.
  • Подключаете GetMyBot к ИИ-ассистенту или агенту, который умеет MCP — берите /mcp.

И тот, и другой интерфейс работают под одним токеном и подчиняются одним и тем же правам владельца. Если инструмента под задачу не нашлось — соответствующий REST-эндпоинт всегда есть в интерактивном справочнике.

Что дальше