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
  • read_dialogsubscribers:read
  • send_dialog_messagesubscribers:write
  • send_dialog_reactionsubscribers:write
  • transcribe_dialog_messagesubscribers:write

Статистика та аналітика (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-ендпоінт завжди є в інтерактивному довіднику.

Що далі