Для AI-агентов: markdown этой страницы — /docs-content/mcp.md индекс документации — /llms.txt
MCP для AI
Вайбкод публикует два MCP-сервера для AI-агентов — подходят для Claude Desktop, Claude Code, Cursor, Codex CLI, Windsurf, Gemini CLI и любого другого клиента с поддержкой Model Context Protocol.
mcp-vibe-api— инструменты для работы с Битрикс24 через API Вайбкод.mcp-docs— справочник по REST-методам Битрикс24.
Установка mcp-vibe-api | Инструменты (53) | HTTP-транспорт | mcp-docs | Безопасность
Что можно делать через MCP
Подборка диалогов с AI-агентом и инструментов, которые агент реально вызывает. Помогает оценить возможности mcp-vibe-api и подобрать набор скоупов для ключа.
Аналитика по сделкам
Пользователь: Покажи сумму сделок в работе по каждому ответственному за последний месяц.
Агент по очереди вызывает:
aggregate_entitiesдля сущностиdealsс фильтром поcloseDate, агрегатомsumпо полюamountи группировкой поassignedById.list_entitiesдля сущностиusers— чтобы заменить идентификаторы на имена сотрудников.
Скоуп ключа: crm, user.
Создание и публикация бота
Пользователь: Зарегистрируй бота с именем «Помощник» и пришли тестовое сообщение в чат с моим коллегой.
Агент по очереди вызывает:
manage_botс действиемregister— создаёт бота на портале.manage_botс действиемget_events— получает идентификатор диалога с коллегой из входящего события.manage_bot_messagesс действиемsend— отправляет приветственное сообщение в нужный диалог.
Скоуп ключа: imbot.
Развёртывание приложения на сервере
Пользователь: Подними новый сервер в Bitrix Cloud и разверни туда архив с приложением.
Агент по очереди вызывает:
manage_serverс действиямиlist_providers,list_plans,list_regions,list_images— собирает каталог.manage_serverс действиемcreate— создаёт сервер в выбранной конфигурации.manage_serverс действиемget— ждёт, пока статус станетRUNNINGиCONNECTED.manage_server_deployс действиемdeploy— запускает конвейер развёртывания (загрузка архива, установка, systemd, проверка работоспособности).manage_server_deployс действиемlogs— читает журналы при ошибках.
Скоуп ключа: vibe:infra.
Подключение собственного провайдера AI
Пользователь: Добавь мой ключ OpenAI и сделай тестовый запрос к gpt-4o.
Агент по очереди вызывает:
manage_ai_credentialsс действиемlist_providers— выясняет идентификатор провайдера OpenAI.manage_ai_credentialsс действиемcreate— сохраняет ключ. Провайдер проверяется до записи и возвращает422 CREDENTIAL_INVALID, если ключ не работает.ai_chatс действиемchatи параметромmodel: "openai/gpt-4o"— отправляет тестовый запрос через AI Router.
Скоуп ключа: vibe:ai.
Оставить запрос в поддержку через AI
Пользователь: Эндпоинт
/v1/deals/aggregateиногда возвращает пустой ответ — заведи тикет с подробностями.
Агент по очереди вызывает:
get_me— забирает идентификатор портала и текущий тариф для поляcontext.manage_feedbackс действиемcreate— отправляет тикет с категориейBUG, заголовком, описанием воспроизведения и сериализованнымcontext(эндпоинт, тело запроса, код ответа).
Скоуп ключа: создание тикетов доступно любому ключу.
mcp-vibe-api
Сервер, который даёт AI-агенту доступ к Битрикс24 через API Вайбкод. Дальше — установка, параметры запуска, инструменты, Resources, Prompts и HTTP-транспорт.
Установка
Пакет @bitrix24/mcp-vibecode-api. После установки доступна команда mcp-vibe-api. Нужен Node.js версии 18 или выше — подойдёт любая актуальная LTS-сборка (18, 20, 22).
npm install -g @bitrix24/mcp-vibecode-api
Регистрация в клиенте через CLI
Если клиент умеет управлять MCP-серверами через консоль, конфиг-файл редактировать не нужно — достаточно одной команды.
Claude Code:
claude mcp add vibecode -- mcp-vibe-api --key vibe_api_your_key_here --api-url https://vibecode.bitrix24.tech
Команда добавит сервер в локальный конфиг текущего пользователя. Чтобы поделиться настройкой со всем проектом, добавьте флаг -s project — конфиг попадёт в .mcp.json репозитория. Управлять списком: claude mcp list, claude mcp remove vibecode.
Codex CLI:
codex mcp add vibecode -- mcp-vibe-api --key vibe_api_your_key_here --api-url https://vibecode.bitrix24.tech
Запись попадёт в ~/.codex/config.toml. Передать API-ключ через переменные окружения вместо аргументов: codex mcp add vibecode --env VIBE_API_KEY=vibe_api_your_key_here --env VIBE_API_URL=https://vibecode.bitrix24.tech -- mcp-vibe-api. Для проектного scope создайте .codex/config.toml в корне репозитория и пропишите блок [mcp_servers.vibecode] напрямую.
Gemini CLI:
gemini mcp add vibecode mcp-vibe-api --key vibe_api_your_key_here --api-url https://vibecode.bitrix24.tech
Запись попадёт в ~/.gemini/settings.json. Передать ключ через переменные окружения: gemini mcp add -e VIBE_API_KEY=vibe_api_your_key_here -e VIBE_API_URL=https://vibecode.bitrix24.tech vibecode mcp-vibe-api. Для проектного scope используйте .gemini/settings.json в корне репозитория.
Регистрация через конфиг-файл
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json на macOS, %APPDATA%\Claude\claude_desktop_config.json на Windows):
{
"mcpServers": {
"vibecode": {
"command": "mcp-vibe-api",
"args": ["--key", "vibe_api_your_key_here", "--api-url", "https://vibecode.bitrix24.tech"]
}
}
}
Cursor (.cursor/mcp.json в корне проекта):
{
"mcpServers": {
"vibecode": {
"command": "mcp-vibe-api",
"args": ["--key", "vibe_api_your_key_here", "--api-url", "https://vibecode.bitrix24.tech"]
}
}
}
Codex CLI (~/.codex/config.toml):
[mcp_servers.vibecode]
command = "mcp-vibe-api"
args = ["--key", "vibe_api_your_key_here", "--api-url", "https://vibecode.bitrix24.tech"]
Запуск без глобальной установки
Если глобально установить пакет нельзя, замените mcp-vibe-api на npx -y @bitrix24/mcp-vibecode-api в любом конфиге выше. Пример для Claude Desktop:
{
"mcpServers": {
"vibecode": {
"command": "npx",
"args": ["-y", "@bitrix24/mcp-vibecode-api", "--key", "vibe_api_your_key_here", "--api-url", "https://vibecode.bitrix24.tech"]
}
}
}
Ключ из одноразового кода
Этот способ нужен, только если владелец передал одноразовый код вместо ключа. Обменяйте код по инструкции «Код вместо ключа»: ключ сохраняется в приватный .env проекта как VIBE_API_KEY. Не переносите его в чат, аргументы запуска или конфигурацию MCP. Исключите .env из git, убедитесь, что он не отслеживается, и установите права 600 до записи секрета (в Windows — эквивалентный доступ только владельцу). Не включайте вывод переменных или трассировку оболочки.
mcp-vibe-api читает окружение своего процесса и не загружает .env автоматически. Родительский клиент должен получить переменную до запуска MCP. В отдельной POSIX-оболочке прочитайте только эту переменную как данные, без исполнения .env, затем из той же оболочки запустите клиент:
set +x
unset VIBE_API_KEY
if ! VIBE_API_KEY=$(LC_ALL=C awk '
/^VIBE_API_KEY=/ { count++; value = substr($0, 14) }
END {
if (count == 1 && value ~ /^[A-Za-z0-9_]+$/) print value
else exit 1
}
' .env) || [ -z "$VIBE_API_KEY" ]; then
unset VIBE_API_KEY
printf '%s\n' 'Cannot load VIBE_API_KEY from .env. Stop before starting the client.' >&2
exit 1
fi
export VIBE_API_KEY
После записи или изменения .env обновите окружение родительского процесса и полностью перезапустите MCP-клиент. Изменение файла само по себе не меняет окружение уже работающего клиента. Для GUI-клиента передайте только VIBE_API_KEY при запуске либо используйте поддерживаемый envFile: отдельный приватный файл с единственной переменной VIBE_API_KEY, правами 600, исключённый из git и не отслеживаемый им. Общий .env проекта в envFile не указывайте.
Claude Code, .mcp.json проекта: подстановка переменной окружения передаёт значение из окружения клиента, не сохраняя секрет в файле:
{
"mcpServers": {
"vibecode": {
"command": "mcp-vibe-api",
"args": ["--api-url", "https://vibecode.bitrix24.tech"],
"env": { "VIBE_API_KEY": "${VIBE_API_KEY}" }
}
}
}
Codex CLI, ~/.codex/config.toml: список env_vars разрешает передачу переменной из окружения клиента:
[mcp_servers.vibecode]
command = "mcp-vibe-api"
args = ["--api-url", "https://vibecode.bitrix24.tech"]
env_vars = ["VIBE_API_KEY"]
Cursor, .cursor/mcp.json: подстановка ${env:VIBE_API_KEY} берёт значение из окружения клиента:
{
"mcpServers": {
"vibecode": {
"command": "mcp-vibe-api",
"args": ["--api-url", "https://vibecode.bitrix24.tech"],
"env": { "VIBE_API_KEY": "${env:VIBE_API_KEY}" }
}
}
}
В качестве альтернативы для stdio-сервера Cursor замените поле env на "envFile": "${workspaceFolder}/.env.mcp". Используйте отдельный приватный .env.mcp с единственной переменной VIBE_API_KEY, правами 600, исключённый из git и не отслеживаемый им. Общий .env проекта не подходит для envFile. В конфигурации хранится только ссылка на файл. Эти примеры — для Claude Code, Codex CLI и Cursor. У других клиентов проверяйте собственный механизм передачи окружения.
Для запуска без глобальной установки замените в этих конфигурациях "command": "mcp-vibe-api" на "command": "npx", а в начало args добавьте "-y", "@bitrix24/mcp-vibecode-api". Значение ключа в конфигурацию не добавляйте.
Доставка приложения и MCP
Код приложения может доставить VIBE_APP_KEY, а пакет — VIBE_API_KEY, VIBE_APP_KEY либо обе переменные. Прочитайте весь состав parts и выполните соответствующие exchange.save_steps по инструкции доставки приложения. Сохраните все перечисленные переменные без раскрытия секретов до настройки MCP.
Для каждого сохранённого ключа вычислите локально SHA-256 и сравните первые 16 шестнадцатеричных символов с key_fingerprint для соответствующего env_name из описания доставки или обмена JSON. Затем выполните отдельный обычный GET /v1/me с этим ключом в X-Api-Key и требуйте HTTP 200. Сверьте только поля, перечисленные для этой части в verification[i].compare: значение по каждому response_path в обычном ответе должно совпадать со значением по его expected_path в описании issued. Отсутствие поля или несовпадение значения означает неуспешную проверку. Проверка только API-части не проверяет ключ приложения. При claimed сравните каждую локальную переменную с её key_fingerprint. Если локального ключа нет, владелец перевыпускает его в карточке приложения. Новый код не восстанавливает доставленный ключ. Истечение срока или отмена кода оставляют активные ключи приложения рабочими, поэтому не удаляйте ключ работающего сервера.
Передавайте в процесс MCP только VIBE_API_KEY через окружение родительского клиента по приведённым выше инструкциям для своего клиента. VIBE_APP_KEY принадлежит приложению и не переносится в MCP. Доставка oauth_app без API-части не позволяет настроить MCP этим кодом. После изменения родительского окружения перезапустите работающий MCP-клиент.
Параметры запуска
Ключ и базовый URL передаются флагами командной строки или через переменные окружения. При коллизии флаг побеждает.
| Флаг | Переменная окружения | По умолчанию | Описание |
|---|---|---|---|
Флаг--key <api-key> |
Переменная окруженияVIBE_API_KEY |
По умолчанию— | ОписаниеAPI-ключ Вайбкод (vibe_api_... или vibe_app_...) |
Флаг--api-url <url> |
Переменная окруженияVIBE_API_URL |
По умолчаниюhttps://vibecode.bitrix24.tech |
ОписаниеБазовый URL API Вайбкод |
Флаг--http |
Переменная окружения— | По умолчаниювыключен | ОписаниеВключить HTTP-транспорт вместо stdio |
Флаг--http-token <token> |
Переменная окруженияVIBE_MCP_HTTP_TOKEN |
По умолчанию— | ОписаниеBearer-токен для HTTP-транспорта (обязателен с --http) |
Флаг--host <host> |
Переменная окружения— | По умолчанию127.0.0.1 |
ОписаниеАдрес для HTTP-транспорта |
Флаг--port <port> |
Переменная окружения— | По умолчанию3001 |
ОписаниеTCP-порт для HTTP-транспорта |
Флаг--allowed-origins <csv> |
Переменная окружения— | По умолчаниюпусто | ОписаниеСписок разрешённых браузерных Origin, через запятую |
Флаг--max-body-kb <n> |
Переменная окружения— | По умолчанию256 |
ОписаниеЛимит тела запроса в килобайтах |
Флаг--rate-limit <rpm> |
Переменная окружения— | По умолчанию300 |
ОписаниеЛимит запросов в минуту на IP |
Флаг-h, --help |
Переменная окружения— | По умолчанию— | ОписаниеПоказать справку |
Флаг-v, --version |
Переменная окружения— | По умолчанию— | ОписаниеПоказать версию пакета |
Установка ключа через переменную окружения, чтобы не хранить его в конфигах:
export VIBE_API_KEY="vibe_api_your_key_here"
export VIBE_API_URL="https://vibecode.bitrix24.tech"
mcp-vibe-api
Доступ по типу ключа
mcp-vibe-api работает с двумя типами ключей Вайбкод и при старте запрашивает /v1/me, чтобы определить тип. Дальше клиенту отдаются только те инструменты, которые ключ может использовать.
| Тип ключа | Какие инструменты доступны |
|---|---|
Тип ключаvibe_api_... или vibe_app_... (ключ портала) |
Какие инструменты доступныДанные Битрикс24, AI, сборка приложений, служебные |
Тип ключаvibe_live_... (управляющий ключ) |
Какие инструменты доступныПлатформенное управление, служебные |
В описании каждой группы инструментов ниже указан тип ключа, который к ней подходит.
Инструменты (53)
Все инструменты возвращают JSON. Для специализированных эндпоинтов есть типизированные обёртки — используйте их вместо call_api, когда они доступны: подсказки по параметрам и валидация выше. Инструменты сгруппированы в пять кластеров по типу задачи.
Данные Битрикс24 (28) — ключ портала
Чтение и запись данных портала: CRM-сущности, чаты и боты, расширения для CRM, телефония, файлы, бизнес-процессы, рабочее время. Подходит большинству задач AI-агента.
Сущности CRM и других модулей (10)
Покрывают единый CRUD-интерфейс над 40+ сущностями Битрикс24 — от сделок и контактов до задач, файлов, документов и записей смарт-процессов.
| Инструмент | Описание |
|---|---|
Инструментdiscover |
ОписаниеСписок сущностей и их полей из OpenAPI-схемы |
Инструментget_fields |
ОписаниеПоля сущности с учётом пользовательских полей UF_* |
Инструментlist_entities |
ОписаниеСписок записей с фильтрацией, сортировкой, автопагинацией при limit > 50 |
Инструментget_entity |
ОписаниеЗапись по ID |
Инструментcreate_entity |
ОписаниеСоздание записи |
Инструментupdate_entity |
ОписаниеЧастичное обновление записи |
Инструментdelete_entity |
ОписаниеУдаление записи |
Инструментsearch_entities |
ОписаниеПоиск с операторами $gt, $gte, $lt, $lte, $ne, $contains, $in, $nin |
Инструментbatch_entities |
ОписаниеМассовое создание, обновление и удаление до 500 записей за вызов |
Инструментaggregate_entities |
ОписаниеАгрегация: count, sum, avg, min, max с группировкой через groupBy |
Поддерживаемые сущности: deals, contacts, companies, leads, quotes, activities, products, product-sections, statuses, currencies, deal-categories, requisites, timelines, invoices, items, smart-processes, tasks, calendar-events, files, folders, storages, users, departments, workgroups, chats, catalog-products, catalog-sections, catalog-prices, orders, order-statuses, basket-items, payments, sites, pages, doc-templates, documents, bookings, bizproc-templates, openline-configs, telephony-lines и другие.
Чаты (1)
| Инструмент | Действия |
|---|---|
Инструментmanage_chat |
Действияlist_recent, find, get, send_message, read_messages, create, add_users, bulk_messages |
Скоуп: im. Управляет чатами и сообщениями на стороне пользователя. Для чатов, принадлежащих боту, нужен manage_bot_chat.
Боты (3)
Управление ботами на платформе Битрикс24 — регистрация, чаты, обмен сообщениями. Скоуп ключа: imbot.
| Инструмент | Действия |
|---|---|
Инструментmanage_bot |
Действияregister, unregister, update, list, get, get_events |
Инструментmanage_bot_chat |
Действияcreate, get, update, leave, add_user, remove_user, set_owner |
Инструментmanage_bot_messages |
Действияsend, edit, delete, add_reaction, remove_reaction, read, get_history, send_typing |
CRM-расширения и работа с порталом (13)
| Инструмент | Действия |
|---|---|
Инструментmanage_workday |
Действияopen, close, pause, status, settings, schedule, records — учёт рабочего времени и история рабочих дней. Скоуп: timeman |
Инструментmanage_workflow |
Действияstart, list, terminate, send_event — бизнес-процессы. Скоуп: bizproc |
Инструментsend_notification |
ДействияPush-уведомление пользователю Битрикс24. Скоуп: im |
Инструментmanage_call |
Действияregister, finish, auto_call, callback, statistics, voices — телефония и автообзвон с TTS. Скоуп: telephony |
Инструментmanage_trigger |
Действияfire, list — CRM-триггеры автоматизации. Скоуп: bizproc |
Инструментmanage_timeline_log |
Действияcreate, list, get, delete, add_note, get_note, delete_note, pin, unpin, bind, unbind, get_bindings — записи в таймлайне CRM-сущностей. Скоуп: crm |
Инструментmanage_warehouse |
Действияlist, get, create, delete, get_stock — склады и остатки. Скоуп: catalog |
Инструментmanage_catalog_product_image |
Действияlist, get — метаданные штатных изображений товара (DETAIL_PICTURE, PREVIEW_PICTURE, MORE_PHOTO) без файлов из других пользовательских свойств и без подписных/приватных полей. Доступ к недоверенному detailUrl без сессии портала не гарантирован. Серверный fetch допустим только после платформенной SSRF-проверки. Скоуп: catalog |
Инструментmanage_post |
Действияlist, create, update, delete, share, add_comment — посты в живой ленте. Скоуп: log |
Инструментmanage_userfield |
Действияlist, get, types, create, update, delete — пользовательские поля в фиксированных CRM-сущностях и смарт-процессах. Скоуп: crm |
Инструментmanage_task_time |
Действияlist, get, add, update, delete — учёт времени по задачам. Скоуп: task |
Инструментcrm_extras |
Действияstage_history, find_duplicates — история стадий и поиск дубликатов. Скоуп: crm |
Инструментmanage_file |
Действияupload, download — загрузка и скачивание файлов в Битрикс24.Диске. Скоуп: disk |
Действие download принимает fileId — идентификатор объекта Диска, целое положительное число. Это значение поля id из ответа на upload, а не его fileId. В ответе приходят content с содержимым файла в base64, contentType, size в байтах и filename, когда портал прислал имя файла. Файл больше 10 МиБ отклоняется кодом FILE_TOO_LARGE — за таким обращайтесь к Скачать файл напрямую с тем же ключом API. Отсутствующий файл отвечает ENTITY_NOT_FOUND.
Универсальный вызов API Вайбкод (1)
| Инструмент | Описание |
|---|---|
Инструментcall_api |
ОписаниеПроизвольный HTTP-вызов к API Вайбкод: method, path, body, query. Запасной канал для эндпоинтов без типизированной обёртки |
Пример вызова: call_api({ method: "GET", path: "/v1/calls/statistics" }).
Инструмент читает только JSON-конверты платформы, поэтому часть маршрутов он отклоняет до отправки запроса. Маршрут, отдающий байты, — это NON_JSON_RESPONSE_UNSUPPORTED: за файлами Диска идите через manage_file, за вложениями CRM, чертежами приложений и объектами хранилища — своим HTTP-клиентом. Браузерные точки входа потоков OAuth и подключения отвечают перенаправлением и отклоняются кодом REDIRECT_ROUTE_UNSUPPORTED, потому что переход по нему унёс бы ключ API на адрес, который выбирает не платформа. Полный адрес вместо пути и путь, выходящий за пределы /v1/, отвечают INVALID_PATH.
AI (2) — ключ портала
Подключение AI-моделей через AI Router и управление BYOK-учётными данными. Скоуп: vibe:ai.
| Инструмент | Действия |
|---|---|
Инструментai_chat |
Действияlist_models, chat — OpenAI-совместимые chat completions через /v1/chat/completions. Модель по умолчанию — бесплатная bitrix/bitrixgpt-5.5 |
Инструментmanage_ai_credentials |
Действияlist, create, update, delete, test, usage, list_providers — управление BYOK-учётными данными для подключения сторонних AI-провайдеров. Создание и обновление проверяют ключ перед сохранением и возвращают 422 CREDENTIAL_INVALID при ошибке |
Сборка приложений (13) — ключ портала
Создание приложений Битрикс24, развёртывание серверной части на облачных VM, настройка плейсментов в интерфейсе портала.
Инфраструктура (4)
Облачные серверы для приложений и Black Hole-туннели. Скоуп: vibe:infra.
| Инструмент | Действия |
|---|---|
Инструментmanage_server |
ДействияКаталог: list_providers, list_plans, list_regions, list_images. Жизненный цикл: create, list, get, delete, get_ssh. Состояние: start, stop, reboot, wake, sleep_now, refresh. Операции: metrics, set_port, set_sleep, set_mode, repair, repair_status |
Инструментmanage_server_deploy |
Действияdeploy, exec, upload, logs, clear_lock — конвейер развёртывания с шагами runtime → stop → clean → download → install → env → platform_env → pre_start → service_user → systemd → start → hardening → healthcheck → tunnel_routing |
Инструментmanage_server_access |
Действияlist_access, add_access, remove_access, b24_users_search — списки доступа Black Hole с автодополнением пользователей Битрикс24 |
Инструментget_server_activity |
ДействияЛента событий сервера, новые сверху: сбои доставки событий портала и боту, провалы выкладок и команд, пробуждения, смены статуса. Звать первым, когда приложение или бот не работает. Не видит ошибок вызовов API, бота с забором событий запросами и успешных доставок |
Приложения (5)
| Инструмент | Описание |
|---|---|
Инструментlist_apps |
ОписаниеСписок приложений, опциональный фильтр по статусу |
Инструментget_app |
ОписаниеПриложение по ID |
Инструментcreate_app |
ОписаниеСоздание приложения |
Инструментupdate_app |
ОписаниеОбновление приложения |
Инструментdelete_app |
ОписаниеУдаление приложения |
Публикация приложений (3)
| Инструмент | Описание |
|---|---|
Инструментpublish_app |
ОписаниеПубликация приложения для всего портала |
Инструментunpublish_app |
ОписаниеСнятие приложения с публикации (статус UNPUBLISHED). Неотвязанные места встраивания возвращаются в data.placements |
Инструментdeploy_app |
ОписаниеПубликация приложения в каталог портала (цель PORTAL). Деплой исходного кода на сервер — через manage_server_deploy |
Плейсменты (1)
| Инструмент | Действия |
|---|---|
Инструментmanage_placements |
Действияlist_bound, list_available, bind, unbind — встройка приложения в интерфейс Битрикс24, полное описание операций — Места встраивания. Для IM-плейсментов (IM_SIDEBAR, IM_NAVIGATION, IM_TEXTAREA) параметр options.iconName необязателен: платформа подставляет значок сама и сообщает об этом полем optionsDefaulted, своё значение всегда важнее подставленного |
Скоуп: placement.
Действие list_bound (под капотом — GET /v1/placements) возвращает список placement-кодов, привязанных на платформе Вайбкод, и — при наличии токена сессии (Authorization: Bearer) — дополнительное поле handlers. Это массив с фактическим URL-обработчиком из Битрикс24 для каждого кода: { placement, handler, misbound, title?, options?, langAll? }. Тип: Array<{...}> | undefined — поле отсутствует, если запрос пришёл без Bearer, у приложения нет привязанных плейсментов или ответ Битрикс24 не удалось получить. Базовый список placements возвращается в каждом из этих случаев.
Исход сверки с аккаунтом читается по полю data.portalSync, а не по наличию или длине handlers: ok — аккаунт вернул все привязанные коды, drift — часть кодов аккаунт не вернул и они перечислены в data.missingOnPortal, unknown — привязка не подтверждена. Причина значения, отличного от ok, приходит в data.portalSyncReason: no_oauth_session, empty_vibe_list, b24_unreachable, unpublished или missing_on_portal. Значение unknown привязку не подтверждает. При причине unpublished (приложение снято с каталога) аккаунт всё равно опрашивается, поэтому handlers и признак misbound в ответе есть — в остальных случаях unknown приходит без handlers.
Поле handlers строится как пересечение нашего App.placements с ответом Битрикс24-метода placement.get. Коды, которые есть в нашей базе и отсутствуют у Битрикс24, в handlers не попадают и дают portalSync равный drift: пользователь видит привязку на платформе Вайбкод, а на аккаунте её нет — например, регистрацию сняли через интерфейс Битрикс24. Базовый список data.placements при этом остаётся прежним, несовместимых изменений в форме ответа нет.
Пример (наличие handlers):
{
"success": true,
"data": {
"placements": ["CRM_DEAL_DETAIL_TAB", "LEFT_MENU"],
"appId": "5b5c7e6f-…",
"appTitle": "My App",
"handlers": [
{
"placement": "CRM_DEAL_DETAIL_TAB",
"handler": "https://myapp.example.com/deal-tab",
"title": "My tab",
"options": {},
"langAll": { "ru": { "TITLE": "Моя вкладка" } }
}
],
"portalSync": "drift",
"portalSyncReason": "missing_on_portal",
"missingOnPortal": ["LEFT_MENU"]
}
}
В примере выше LEFT_MENU есть в placements и отсутствует в handlers — на аккаунте он не привязан, что и сказано полями portalSync и missingOnPortal. Возвращается повторной регистрацией через bind. Пример без handlers (вызов без Bearer или нет привязок):
{
"success": true,
"data": {
"placements": [],
"appId": "5b5c7e6f-…",
"appTitle": "My App",
"portalSync": "unknown",
"portalSyncReason": "empty_vibe_list"
}
}
Платформенное управление (8) — управляющий ключ
Эта группа доступна только управляющим ключам Вайбкод (формат vibe_live_...).
| Инструмент | Описание |
|---|---|
Инструментlist_portals |
ОписаниеСписок порталов, доступных по управляющему ключу |
Инструментlist_keys |
ОписаниеСписок API-ключей портала |
Инструментget_key |
ОписаниеКлюч по ID |
Инструментcreate_key |
ОписаниеСоздание ключа со скоупами, IP-вайтлистом и сроком действия |
Инструментupdate_key |
ОписаниеИзменение ключа |
Инструментdelete_key |
ОписаниеУдаление ключа |
Инструментrotate_key |
ОписаниеРотация секрета ключа |
Инструментmanage_feedback |
Описаниеcreate, list, get, update, comment — обращения через /v1/feedback. Управляющий ключ работает со всеми порталами. Для ключа портала это создание и чтение собственных тикетов, а с дополнительным скоупом vibe:feedback — также обновление и комментирование |
Служебные (2) — любой ключ
Доступны и ключу портала, и управляющему.
| Инструмент | Описание |
|---|---|
Инструментget_me |
ОписаниеСнимок текущего ключа: владелец, портал, тариф, capabilities. Параметр sections сужает ответ и принимает только portal, tariff, capabilities, scopes. Вердикт доступа к инфраструктуре лежит в capabilities.servers.create. refresh: 'tariff' принудительно перепроверяет тариф через Битрикс24 |
Инструментcheck_for_updates |
ОписаниеПроверка наличия обновлений mcp-vibe-api в реестре npm. Возвращает текущую и последнюю версии, команду обновления |
Resources
URI вида vibe://... отдают справочные материалы для AI-агента.
| URI | Описание |
|---|---|
URIvibe://api-reference |
ОписаниеПолный справочник API Вайбкод в формате Markdown |
URIvibe://entity/{plural} |
ОписаниеСправочник по конкретной сущности — например vibe://entity/deals, vibe://entity/tasks |
URIvibe://tariff-gate |
ОписаниеКарта 402-ошибок тарифного шлюза, пробного периода и баланса с подсказками userMessage / alternatives / hint |
URIvibe://error-codes |
ОписаниеКаталог кодов ошибок API Вайбкод и форма их ответа |
Prompts
Готовые мульти-шаговые подсказки для AI-агента. Активируются клиентом по имени.
| Имя | Описание |
|---|---|
Имяcreate-bitrix24-app |
ОписаниеСценарий создания, публикации и развёртывания приложения для Битрикс24 |
Имяdeploy-app-step-by-step |
ОписаниеРазвёртывание приложения на сервере: пробуждение, загрузка, выполнение команд, проверка работоспособности |
Имяdiagnose-server-issue |
ОписаниеДиагностика проблем сервера: лента событий, статус, метрики, журналы, варианты восстановления |
Имяupgrade-from-trial |
ОписаниеОбъяснение блокировок тарифного шлюза и пути перехода на коммерческий тариф |
HTTP-транспорт
Помимо stdio (используется по умолчанию) mcp-vibe-api поддерживает HTTP-транспорт. Подходит для серверных интеграций, где stdio неудобен.
mcp-vibe-api \
--key vibe_api_your_key_here \
--api-url https://vibecode.bitrix24.tech \
--http \
--http-token "$(openssl rand -hex 32)" \
--allowed-origins https://your-client.example.com
Клиент отправляет POST http://127.0.0.1:3001/mcp с заголовками:
Authorization: Bearer <token>
Content-Type: application/json
| Код ответа | Причина |
|---|---|
Код ответа401 |
ПричинаОтсутствует или некорректный Bearer-токен |
Код ответа403 |
ПричинаНе совпал заголовок Host, Origin не в списке разрешённых, либо OPTIONS без разрешённого Origin |
Код ответа404 |
ПричинаПуть отличается от /mcp |
Код ответа405 |
ПричинаМетод запроса отличается от POST или OPTIONS |
Код ответа413 |
ПричинаТело запроса превышает --max-body-kb |
Код ответа415 |
ПричинаContent-Type отличается от application/json |
Код ответа429 |
ПричинаПревышен лимит запросов в минуту, ответ содержит Retry-After: 60 |
Сервер не запускается, если --http указан без токена. Сами токены не пишутся в журналы — на старте указывается только их источник (флаг или переменная окружения).
mcp-docs
Справочник по REST API Битрикс24: методы, скоупы, плейсменты, типы и категории приложений. Работает офлайн без API-ключа — все данные встроены в пакет.
Установка
Пакет @bitrix24/mcp-docs. После установки доступна команда mcp-docs. API-ключ не нужен — справочник встроен в пакет и работает без сети.
npm install -g @bitrix24/mcp-docs
Регистрация в клиенте
Через CLI:
claude mcp add bitrix24-docs -- mcp-docs
codex mcp add bitrix24-docs -- mcp-docs
gemini mcp add bitrix24-docs mcp-docs
Через конфиг-файл:
{
"mcpServers": {
"bitrix24-docs": {
"command": "mcp-docs"
}
}
}
Инструменты (8)
| Инструмент | Описание |
|---|---|
Инструментsearch_docs |
ОписаниеПолнотекстовый поиск по справочнику |
Инструментget_rest_methods |
ОписаниеСписок REST-методов с фильтром по скоупу или поисковому запросу |
Инструментget_method_detail |
ОписаниеПодробное описание метода: параметры, ответ, примеры |
Инструментget_scopes |
ОписаниеСписок скоупов с описаниями |
Инструментget_placements |
ОписаниеСписок UI-плейсментов с фильтром по модулю |
Инструментget_placement_detail |
ОписаниеПодробное описание плейсмента |
Инструментget_app_types |
ОписаниеТипы приложений Битрикс24 |
Инструментget_categories |
ОписаниеКатегории приложений Битрикс24 |
Дополнительно сервер публикует ресурс с гайдом по REST API и промпт bitrix24-rest-intro — введение в REST и в синтаксис Вайбкод-прокси.
Прямое использование API Вайбкод без MCP
Если MCP-клиент недоступен, дайте AI-модели API-ключ и ссылку на полный справочник:
Вот мой API-ключ Вайбкод: vibe_api_your_key_here
Полная документация: https://vibecode.bitrix24.tech/llms-full.txt
Опишите вашу задачу...
mcp-vibe-api подключается к любому клиенту с поддержкой Model Context Protocol — Claude Desktop, Claude Code, Cursor, Codex CLI, Windsurf, Gemini CLI и другим. Прямой ключ без MCP подойдёт даже клиентам без поддержки протокола, например ChatGPT.
Если владелец передал одноразовый код вместо ключа, передайте агенту код и адрес самоописания. Агент выполнит обмен кода и приватное сохранение ключа. Используйте шаблон без действующего кода:
Мой код для VibeCode платформы: VIBE-… (обменяй на ключ)
Документация: https://vibecode.bitrix24.tech/v1/me
Опишите вашу задачу...
Прямые запросы API затем используют локальный VIBE_API_KEY, не раскрывая его в чате. Для загрузки переменной выполните шаги из раздела «Ключ из одноразового кода». Если у агента нет доступа к HTTP или приватному файлу, попросите владельца выполнить обмен кода вручную по инструкции.
Безопасность
- Передавайте API-ключ через переменную окружения
VIBE_API_KEYили флаг--key— не вписывайте ключ в скрипты, репозитории и публичные конфиги. Всегда указывайте вместе с нимVIBE_API_URLили--api-urlтого Вайбкода, где выпущен ключ. - Создавайте отдельный ключ для каждого AI-агента и оставляйте только нужные скоупы — ключи
vibe_api_...поддерживают список скоупов и срок действия. - Для серверных сценариев настраивайте IP-вайтлист и фиксированный срок жизни ключа.
- В HTTP-транспорте используйте Bearer-токен из
--http-tokenилиVIBE_MCP_HTTP_TOKENи оставляйте--host 127.0.0.1, если внешний доступ не нужен. - Если ключ скомпрометирован — отзовите его в разделе ключей и создайте новый.