Bitrix24 MCP с подтверждением записи
bitrix24-mcp-server
Самостоятельно размещаемый MCP Битрикс24 с федеративным OAuth 2.1, шифрованием токенов и двухшаговым подтверждением каждой записи
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- При включенном режиме write_with_confirmation может создавать и менять сущности CRM после подтверждения
- Хранит зашифрованные OAuth-токены пользователей портала в собственной базе PostgreSQL
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/ericvanin-bitrix24-mcp-serverОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
У записи высокий риск, поэтому установки в один клик нет. Посмотрите код и добавьте конфиг вручную.
Выполните в терминале
claude mcp add --transport http bitrix24 https://your-server.example.com/mcpИли добавьте в файл .mcp.json, в проекте
{
"mcpServers": {
"bitrix24": {
"type": "http",
"url": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Добавьте в файл ~/.cursor/mcp.json, для всех проектов
{
"mcpServers": {
"bitrix24": {
"url": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.
Выполните в терминале
code --add-mcp '{"name":"bitrix24","type":"http","url":"https://your-server.example.com/mcp"}'Или добавьте в файл .vscode/mcp.json, в проекте
{
"servers": {
"bitrix24": {
"type": "http",
"url": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа servers.
Выполните в терминале
codex mcp add bitrix24 --url https://your-server.example.com/mcpИли добавьте в файл ~/.codex/config.toml, для всех проектов
[mcp_servers.bitrix24]
url = "https://your-server.example.com/mcp"Если файл уже есть, допишите блок в конец.
Выполните в терминале
gemini mcp add -s user -t http bitrix24 https://your-server.example.com/mcpИли добавьте в файл ~/.gemini/settings.json, для всех проектов
{
"mcpServers": {
"bitrix24": {
"httpUrl": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов
{
"mcpServers": {
"bitrix24": {
"serverUrl": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.
Бывший Windsurf.
Добавьте в файл cline_mcp_settings.json, для всех проектов
{
"mcpServers": {
"bitrix24": {
"type": "streamableHttp",
"url": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.
Добавьте в файл .roo/mcp.json, в проекте
{
"mcpServers": {
"bitrix24": {
"type": "streamable-http",
"url": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Форк Roo Code, папки .roo те же.
Добавьте в файл opencode.json, в проекте
{
"mcp": {
"bitrix24": {
"type": "remote",
"url": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcp.
Добавьте в файл ~/.config/zed/settings.json, для всех проектов
{
"context_servers": {
"bitrix24": {
"url": "https://your-server.example.com/mcp"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа context_servers.
Разверни сервер через docker compose up --build с заполненным .env (APP_URL, DATABASE_URL, BITRIX_CLIENT_ID/SECRET, MCP_AUTH_TOKEN, TOKEN_ENCRYPTION_KEY), затем подключи claude mcp add --transport http bitrix24 https://твой-сервер/mcp и пройди OAuth-авторизацию через /mcp в Claude Code.
Другие способы из описания автора
cp .env.example .env && npm ci && npm run build && npm startТребует заполненный .env с BITRIX_CLIENT_ID/SECRET, DATABASE_URL, MCP_AUTH_TOKEN и TOKEN_ENCRYPTION_KEY.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер размещается самостоятельно (Docker Compose или Coolify) с собственным OAuth-приложением Битрикс24 и базой PostgreSQL. Каждый MCP-клиент проходит отдельную авторизацию OAuth 2.1 с PKCE и динамической регистрацией, токены Битрикс24 шифруются AES-256-GCM и обновляются потокобезопасно. Инструменты чтения обнаруживают схему конкретного портала: типы CRM-сущностей включая смарт-процессы через crm.type.list, поля, воронки, стадии, пользователей и элементы по универсальным методам crm.item.*. Запись сделана намеренно в два шага: инструмент подготовки (создание, обновление, смена стадии) возвращает читаемую человеком сводку и ожидающую операцию, а выполняется только после отдельного вызова подтверждения; операция атомарна и не может выполниться дважды при параллельных запросах, ожидающие операции истекают через десять минут. Каждая запись оставляет аудит-запись со статусом. Сырые REST-вызовы, удаление, администрирование схемы, роботы, бизнес-процессы и привязка событий в этой версии намеренно не открыты.
Для кого. Для команд, которым важна многопользовательская авторизация каждого клиента и жесткий контроль над записью в CRM с подтверждением каждой операции.
Подходит, если
- Несколько человек должны подключаться каждый под своей авторизацией Bitrix24, а не одним общим вебхуком
- Важно, чтобы ни одна запись в CRM не проходила без отдельного подтверждающего вызова
- Нужен аудит-лог всех подготовленных, выполненных, проваленных и отмененных записей
Не подходит, если
- Нет возможности развернуть Docker с PostgreSQL и публичным HTTPS-доменом
- Нужны сырые вызовы REST API, роботы, бизнес-процессы или удаление сущностей: их здесь нет
- Достаточно простого входящего вебхука без OAuth и базы данных
Пример запроса к агенту
Подготовь перенос сделки 4821 на стадию «Оплачено» и покажи сводку перед подтверждениемОграничения
Это независимый проект, не официальный продукт Битрикс24, автор рекомендует сначала протестировать на непродуктивном портале. Требует Node.js 20.11+, PostgreSQL 14+ и собственное OAuth-приложение Битрикс24 с публичным HTTPS-адресом обработчика. Версия 0.3.1 принимает облачные домены *.bitrix24.* и ровно один настроенный кастомный домен портала, другие коробочные домены пока отклоняются. Реальный доступ всегда ограничен правами того пользователя Битрикс24, который прошел OAuth, и правами самого OAuth-приложения.
Как отключить. Остановите развернутый сервер (docker compose down), удалите OAuth-приложение в портале и отзовите MCP_AUTH_TOKEN.
MCP
- Транспорт
- http
- Авторизация
- OAuth
| Переменные окружения | |
|---|---|
| BITRIX_CLIENT_ID обязательная, секрет | ID собственного OAuth-приложения Битрикс24 |
| BITRIX_CLIENT_SECRET обязательная, секрет | Секрет OAuth-приложения Битрикс24 |
| TOKEN_ENCRYPTION_KEY обязательная, секрет | Стабильный ключ шифрования токенов на весь срок жизни базы |
| MCP_AUTH_TOKEN обязательная, секрет | Статический bearer-токен для операторского доступа и восстановления, минимум 32 символа |
Проверка безопасности
- При включенном режиме write_with_confirmation может создавать и менять сущности CRM после подтверждения
- Хранит зашифрованные OAuth-токены пользователей портала в собственной базе PostgreSQL
Коротко о README
README перечисляет включенное (собственное OAuth-приложение, шифрование токенов, read-only инструменты, обнаружение SPA, кеш метаданных схемы, подготовленные операции записи с подтверждением, аудит, стейтлес Streamable HTTP с OAuth 2.1), быстрый старт с переменными окружения, установку локального приложения Битрикс24, подключение клиентов (Claude custom connector, Claude Code, Codex, generic static-bearer), полную таблицу конфигурации, инструкции по Docker и Coolify и архитектурную схему. Ссылки на SECURITY.md перед продакшен-развертыванием.
Частые вопросы
Может ли агент записать данные без подтверждения?
Нет, режим read_only по умолчанию запрещает и подготовку, и выполнение записи; подготовка разрешается только при явном mode=write_with_confirmation, а выполняется запись отдельным вызовом bitrix_confirm_operation.
Что если два запроса попробуют подтвердить одну операцию одновременно?
Подтверждение атомарно, конкурентные запросы не могут выполнить одну и ту же операцию дважды.
Похожие
Официальный MCP-сервер Salesforce DX: работа с org, метаданными, данными, пользователями и тестами Apex из агента
Официальный набор скиллов Яндекса: каталог, цены, остатки, заказы, витрина и еженедельная ревизия магазина на Яндекс.Кит через Claude Code или Codex
YouGile MCP от Indalo
YouGile MCP
Полное покрытие API YouGile из 65 операций с настраиваемыми правами, подтверждением записи и общим лимитом на компанию
Официальный MCP конкретного портала Битрикс24: внешний агент по OAuth или токену читает и меняет задачи, сделки, встречи и письма