MCP-сервер для Битрикс24: задачи и сделки CRM в руках агента
Официальный MCP Битрикс24 отдаёт агенту документацию, но не данные портала. Как написать свой сервер для сделок и задач и не дать агенту лишнего.
6 мин · · агенты · бизнес
Когда говорят «mcp сервер битрикс24», обычно имеют в виду одно из двух, и это разные вещи. Первое: сервер, который помогает агенту писать правильный код под REST API Битрикс24. Второе: сервер, через который агент читает сделки и создаёт задачи в вашем портале. У Битрикс24 официально есть только первый. Ниже объясняем разницу, показываем, как собрать второй с минимальными правами, и как подключить его к агенту.
Сведения о Битрикс24 взяты из официальной документации apidocs.bitrix24.com на 18 октября 2026. Названия пунктов интерфейса там даны для английской версии, в русской они могут звучать иначе, поэтому сверяйтесь со своим порталом.
Что даёт официальный MCP Битрикс24
В документации описан сервер b24-dev-mcp по адресу https://mcp-dev.bitrix24.com/mcp. Он работает по протоколу Streamable HTTP (старого SSE нет) и открыт без авторизации. В документации это сказано прямо: сервер отдаёт актуальную документацию по REST API, но у него нет доступа к данным Битрикс24 и он не выполняет вызовы методов.
Его задача другая: чтобы модель не придумывала несуществующие методы REST и не отправляла вас по битым ссылкам. У сервера пять инструментов: поиск по документации (bitrix-search), описание метода по точному имени (bitrix-method-details), описание события (bitrix-event-details), статья (bitrix-article-details) и материалы по разработке приложений (bitrix-app-development-doc-details).
Подключение к Claude Code, по документации Битрикс24, одной командой:
claude mcp add --transport http b24-dev-mcp https://mcp-dev.bitrix24.com/mcp
claude mcp listЕсли вы пишете интеграцию, подключите его первым: код получится точнее. Подробности про работу с MCP в Claude Code есть в статье MCP-серверы в Claude Code.
Когда нужен собственный сервер
Если задача вроде «покажи сделки на стадии "Счёт" и создай задачу менеджеру», агенту нужен доступ к данным. Для этого пишут свой MCP-сервер-обёртку: агент вызывает инструмент list_deals, сервер делает REST-запрос в портал и возвращает результат. Ключ тут один: входящий вебхук.
Вебхук и права: главное место для ошибки
Входящий вебхук — секретная ссылка, по которой внешняя система вызывает методы портала. Документация подчёркивает два факта.
Первый: запросы выполняются с правами того сотрудника, который вебхук создал, и только в пределах выбранных областей (scope). Если создать вебхук от имени администратора, агент получит права администратора, даже если вы отметили одну область.
Второй: секретный код нельзя показывать и встраивать в публичный код.
Из этого получается порядок действий:
- Заведите отдельного пользователя под агента с ограниченной ролью: видит только нужные воронки, не может удалять.
- Если создание вебхуков запрещено, администратор разрешает его в разделе настроек безопасности (Settings → Bitrix24 settings → Security → Bitrix24 integrations, поле Who can create inbound webhooks).
- Войдите под этим пользователем, откройте Applications → Developer resources, затем Common use cases → Other → Inbound webhook.
- В блоке Permission settings отметьте только
crmиtask. В документации сказано, что необходимую область для каждого метода указывает страница метода. - По возможности задайте срок действия вебхука: документация упоминает, что его можно ограничить датой.
URL вебхука выглядит как https://портал.bitrix24.com/rest/<id пользователя>/<секретный код>/метод.json. Сохраните его в переменную окружения B24_WEBHOOK без имени метода.
Минимальный сервер на Python
Пример использует пакет mcp (класс FastMCP) и requests. API библиотеки mcp развивается, поэтому сверьтесь с её документацией, если импорт не совпадёт.
import os
import requests
from mcp.server.fastmcp import FastMCP
WEBHOOK = os.environ["B24_WEBHOOK"].rstrip("/")
ALLOW_WRITE = os.environ.get("B24_ALLOW_WRITE") == "1"
mcp = FastMCP("bitrix24")
def call(method: str, params: dict) -> dict:
r = requests.post(f"{WEBHOOK}/{method}.json", json=params, timeout=30)
r.raise_for_status()
data = r.json()
if "error" in data:Что здесь сделано намеренно. Поля в select перечислены явно: агенту не нужны все 100 полей сделки, а лишние поля стоят токенов. Чтение и запись разведены, запись выключена по умолчанию. Метод удаления не реализован вообще: что не описано как инструмент, то агент не вызовет.
Подключение к агенту
В Claude Code:
claude mcp add --env B24_WEBHOOK=https://портал.bitrix24.com/rest/7/секрет --transport stdio bitrix24 -- python /путь/к/b24_server.pyClaude Code работает через переменные ANTHROPIC_BASE_URL=https://api.zukko.pro (без /v1), ANTHROPIC_AUTH_TOKEN=fetch_... и ANTHROPIC_MODEL=claude-sonnet-5-5, см. документацию по Claude Code. В opencode тот же сервер описывается блоком mcp с "type": "local" и командой ["python", "/путь/к/b24_server.py"], а адрес Zukko там с /v1.
Лимиты REST и что с ними делать
В облачном Битрикс24 запрос должен уложиться в 60 секунд. Частота ограничена по принципу «дырявого ведра»: по документации, на тарифе Enterprise счётчик уменьшается на 5 в секунду и блокировка наступает на значении 250, на остальных тарифах 2 в секунду и 50. При превышении приходит статус 503 и код QUERY_LIMIT_EXCEEDED. Для агента это значит: не просите «выгрузи все сделки за три года» одним промптом, ограничивайте выборки и используйте batch (до 50 вызовов в одном HTTP-запросе), если реализуете массовые операции. Ошибку лимита сервер должен вернуть модели понятным текстом, а не молчать.
Что не дать агенту
- Права администратора и удаление. Отдельный пользователь и отсутствие инструмента удаления закрывают это.
- Чтение полей, которые не нужны: телефоны и почты клиентов, если задача про стадии.
- Доверие к тексту из CRM. Комментарий в сделке или заметка клиента могут содержать фразу, адресованную модели. Всё, что вернул инструмент, считайте данными, а не командой, и оставляйте подтверждение на записи.
- Общий ключ для всех. Для модели заведите отдельный ключ Zukko с дневным лимитом на странице API-ключей.
Сколько это стоит
Допустим, за день агент отвечает на 30 вопросов по CRM, на каждый уходит 20 000 токенов входа и 1 500 выхода. Всего 600 000 токенов входа и 45 000 выхода. Цены Zukko на 18 октября 2026, $ за 1M токенов, кэш не учитываем:
claude-sonnet-5-5(0.4 / 2): 0.6 × 0.4 + 0.045 × 2 = 0.24 + 0.09 = $0,33.gpt-6.1-sol(0.27 / 1.32): 0.6 × 0.27 + 0.045 × 1.32 = 0.162 + 0.0594 ≈ $0,22.deepseek-v4.1-flash(0.013 / 0.038): 0.6 × 0.013 + 0.045 × 0.038 = 0.0078 + 0.00171 ≈ $0,01.
Какая модель надёжнее вызывает ваши инструменты, проверьте на своих данных. Список и цены: GET https://api.zukko.pro/v1/models. Про общую картину интеграции с порталом есть статья нейросеть в Bitrix24 через вебхуки.
Частые вопросы
Официальный MCP Битрикс24 умеет читать мои сделки?
Нет. Он отдаёт только документацию и не обращается к данным портала. Для данных нужен собственный сервер или другой способ интеграции.
Хватит ли вебхука для такого сервера?
Для личных и внутренних сценариев, где запросы идут от имени одного пользователя, да. Если решение будет работать для разных пользователей или попадёт в маркетплейс, нужно приложение с OAuth 2.0: локальное или маркетплейсное.
Где хранить адрес вебхука?
В переменной окружения или менеджере секретов, не в репозитории и не в промпте. При утечке пересоздайте вебхук.
Можно ли дать агенту запись в CRM?
Можно, но осознанно: отдельные инструменты на запись, подтверждение каждого вызова и минимальные права пользователя. Удаление лучше не давать совсем.
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- AI-агент для 1С: какие задачи можно автоматизировать и какАгент вокруг 1С отвечает на вопросы по данным, готовит черновики документов и ищет аномалии. Разбираем сценарии, архитектуру через HTTP-сервисы и меры безопасности.
- AI-агент для бизнеса: задачи, архитектура и бюджет без иллюзийБез обещаний «заменить отдел». Реальные задачи агента, схема из модели, инструментов и ограничителей, расчёт месячного бюджета и чек-лист перед запуском.
- Агенты opencode: как настроить роли, модели и инструментыСвой агент в opencode — это роль, модель и список разрешений. Показываем конфиг и пример, где рутину делает дешёвая модель, а код правит сильная.
- Plan mode в Claude Code: сначала план, потом правки в кодеВ plan mode Claude Code читает код и предлагает план, но ничего не правит, пока вы не согласитесь. Как включить, использовать и во сколько это обходится.