Свой код

Свой код: инструменты сайта на Битриксе из Python, бота или крона

Иногда модель не нужна вовсе: задача по расписанию должна прочитать остатки и прислать сводку, бот должен ответить на «где заказ», а скрипт после выгрузки проверить каталог. Инструменты сервиса доступны любому коду по протоколу MCP (открытый стандарт вызова инструментов) с ключом интеграции в заголовке. Ниже минимальный клиент на официальном SDK для Python; на других языках принцип тот же.

Начать: кабинет и модульБез карты. 14 дней полного доступа, потом бесплатное чтение.
  • Отдельный ключ: один сайт, только чтение или изменения, срок
  • Изменения только после предпросмотра и вашего «да»
  • Каждое действие записано, откат в течение 30 дней
Так выглядит в чате
Скрипт по кроном в 8:00 вызывает инструмент «остатки» для раздела «Склад» и считает нули.
Шлюз проверяет ключ «только чтение» и возвращает 412 позиций
На сайте: Ничего не изменено: ключ без права на запись
Сводка в Telegram: 412 товаров, 17 с нулевым остатком, 5 ниже минимума. Ссылка на список внизу сообщения.

Что понадобится

На стороне сайта

  • Сайт на «1С-Битрикс: Управление сайтом» по HTTPS, PHP 8.1 или новее.
  • Кабинет сервиса (регистрация по e-mail) и установленный модуль с отмеченными разделами.
  • Ключ интеграции: создаётся в кабинете за минуту, показывается один раз.

На стороне свой код

Python 3.10 или новее и пакет mcp (официальный SDK) либо любой HTTP-клиент на вашем языке, способный держать поток Streamable HTTP. Ключ интеграции с правами под задачу.

Ограничений по стране нет: код обращается к нашему шлюзу, а модель, если она нужна, вы выбираете сами.

Подключение по шагам

  1. Создайте ключ под задачу

    В кабинете на странице «Подключить ассистента» выберите «свой код». Отчёт по остаткам: «только чтение», один сайт, срок год. Обновление остатков из таблицы: «чтение и изменения», один сайт, срок 90 дней. Назовите ключ по задаче, чтобы в журнале было понятно, кто что делал.

  2. Установите SDK

    pip install mcp. Пакет даёт клиент Streamable HTTP и сессию с методами списка и вызова инструментов.

  3. Получите список инструментов

    Скрипт ниже подключается к https://mcp.bxmcp.ru/mcp с заголовком авторизации, инициализирует сессию и печатает имена инструментов с описаниями. Имена стабильны, например bitrix_list_sites, bitrix_list_elements, bitrix_get_stock, bitrix_set_stock.

  4. Вызовите инструмент

    await session.call_tool("bitrix_list_sites", {}) возвращает текст и структурированные данные. Аргументы описаны в схеме каждого инструмента из списка; поле site можно не передавать, если у ключа один сайт.

  5. Обрабатывайте отказы

    Ключ «только чтение» получит отказ на изменение с понятным текстом, истёкший ключ 401, превышение бесплатного лимита чтения сообщение с адресом тарифов. Логируйте эти ответы и не повторяйте вызов в цикле.

Минимальный клиент
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

URL = "https://mcp.bxmcp.ru/mcp"
HEADERS = {"Authorization": "Bearer ВАШ_КЛЮЧ"}

async def main():
    async with streamablehttp_client(URL, headers=HEADERS) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            for t in tools.tools:
                print(t.name, "-", (t.description or "")[:60])
            sites = await session.call_tool("bitrix_list_sites", {})
            print(sites.content[0].text)

asyncio.run(main())

Вместо ВАШ_КЛЮЧ подставьте ключ из кабинета. В кабинете на странице «Подключить ассистента» этот блок показывается уже с вашим ключом.

Проверка

Напишите ассистенту: Вызовите bitrix_list_sites и убедитесь, что в ответе ваш сайт и режим ключа.

Пункты меню взяты из документации свой код и могут отличаться в вашей версии: ищите слова «MCP», «Streamable HTTP» и «заголовки». Сам шлюз с таким подключением проверен тестами; на живом аккаунте свой код мы его не прогоняли.

Если не получилось

401 Unauthorized

Ключ скопирован не полностью, отозван или истёк. Заголовок должен быть Authorization: Bearer ключ, без кавычек и переносов.

Таймаут или обрыв потока

Некоторые прокси режут длинные соединения. Используйте адрес https://mcp.bxmcp.ru/mcp напрямую, без корпоративного прокси, или транспорт SSE по адресу https://mcp.bxmcp.ru/sse.

«Изменения этим ключом недоступны»

Ключ «только чтение» или сайт переведён в режим чтения. Создайте ключ с правом на запись; подтверждения в коде нет, поэтому проверьте данные перед вызовом.

Нужна модель, а не прямой вызов

Возьмите langchain-mcp-adapters или SDK вашей модели с поддержкой инструментов: список инструментов из MCP передаётся модели как есть. Пример с GigaChat на отдельной странице.

Что это даёт по сравнению с REST или прямым SQL

Инструменты уже описаны и проверяют права: код не может случайно обновить не тот сайт или удалить лишнее, потому что у ключа есть границы, а у шлюза журнал и откат на 30 дней. Не нужно писать и поддерживать собственный API на сайте клиента, открывать базу или держать отдельный REST-модуль. Набор инструментов общий с ChatGPT и Claude, поэтому то, что менеджер делает в чате, скрипт делает теми же вызовами.

Ограничения тоже общие: только отмеченные в модуле разделы, до 500 элементов за одно изменение, 200 карточек за одну замену текста, никакого доступа к коду и файлам сайта. Для массовых загрузок по тысячам товаров это медленнее прямого импорта, зато безопасно и с откатом.

Мастер подключения в кабинете: выбор системы, форма ключа, ключ уже подставлен в конфигурацию
Так это выглядит в кабинете: выбрали систему, создали ключ, скопировали готовый блок настроек с ключом внутри.

Три готовых сценария

Утренняя сводка: cron вызывает bitrix_get_stock по разделу, считает нули и шлёт в Telegram. Ключ «только чтение», один сайт. Синхронизация остатков: скрипт читает таблицу поставщика и вызывает bitrix_set_stock по каждой позиции, расхождения пишет в лог. Ключ с изменениями, один сайт, срок 90 дней, запуск сначала на тестовом разделе. Проверка после выгрузки из 1С: bitrix_list_elements страницами, фильтр по пустой картинке и цене, отчёт ответственному.

Любой из них можно дополнить моделью, если нужны формулировки для людей: модель получает те же инструменты через адаптер и пишет сводку словами. Но для большинства скриптов модель лишняя, и это нормально: сервис не требует её.

Что остаётся под вашим контролем

Предпросмотр

Массовые операции (цены, активность товаров, замена текста) ассистент сначала только показывает списком «было → станет». Изменения применяются после вашего «да».

Откат

Почти любое изменение можно отменить фразой «верни как было» или кнопкой в кабинете: цены, остатки, тексты, SEO, поля карточек. Отмена доступна 30 дней, если эти же данные не правили позже.

Журнал

Каждое действие записывается: что, когда и на каком сайте. В кабинете видно последние изменения и оценку сэкономленного времени.

Только выбранные разделы

Ассистент видит только те разделы сайта (инфоблоки), которые вы отметили в настройках модуля. Код сайта и системные файлы Битрикса он не меняет.

Ваше «да» на каждое изменение

Любое добавление, изменение или удаление ассистент сначала показывает и ждёт подтверждения. Это проверяет сам сервис, а не нейросеть: без вашего «да» изменение на сайт не уйдёт.

Видно, кто что сделал

У каждого сотрудника свой вход и своя строка в истории. На самом сайте правки подписаны пользователем «Ассистент bxmcp», их легко отличить от правок людей.

Первые фразы

  • bitrix_list_sites

    Первый вызов: сайт и режим ключа.

  • bitrix_list_elements с фильтром по разделу и страницей 100

    Проход по каталогу страницами; поля карточки в ответе.

  • bitrix_get_stock по разделу

    Остатки для сводки или сверки с таблицей.

  • bitrix_set_stock по одному товару

    Нужен ключ с изменениями. Запись в журнал, откат из кабинета 30 дней.

Частые вопросы

Есть ли ограничение по числу вызовов?

В бесплатном режиме до 30 запросов к сайту в сутки на один сайт. На платных тарифах действует общий лимит частоты шлюза, достаточный для скриптов по расписанию; про массовые загрузки лучше спросить нас заранее.

На каких языках, кроме Python, это работает?

На любом с поддержкой Streamable HTTP: есть официальные SDK для TypeScript, Java, C#, Kotlin и другие. Адрес, заголовок и имена инструментов те же.

Как узнать аргументы инструментов?

Из схемы в ответе на список инструментов: у каждого описание и JSON-схема аргументов. Их же видят модели.

Можно ли откатить изменения скрипта?

Да, в кабинете в истории каждое изменение помечено ключом и откатывается кнопкой в течение 30 дней, если данные не правили позже.

Где хранить ключ?

В переменной окружения или секрете вашей платформы. В журнале кабинета видно, когда ключ использовался в последний раз; неиспользуемые отзывайте.

Что будет через 14 дней?

14 дней считаются с подключения сайта. После них ассистент перейдёт в бесплатный режим: один сайт, до 10 изменений в месяц и до 30 запросов в сутки. Сайты, история и настройки сохранятся. Чтобы менять без ограничений, выберите тариф в кабинете: от 990 ₽ в месяц за один сайт.

Нужно ли уметь программировать?

Нет. Модуль ставится из админки Битрикса, дальше вы пишете в чат обычными словами. Если застрянете на установке, оставьте заявку на главной странице, и мы поможем.

Подключите за 14 дней бесплатно

  • Сначала кабинет и модуль
  • Потом свой код по шагам выше
  • Изменения от 990 ₽ в месяц

Другие ассистенты и системы

Подключение ассистентов

Cherry Studio для Битрикс

Бесплатная программа для компьютера, в которой любая модель по API, в том числе локальная, получает инструменты вашего сайта. Один JSON из кабинета.

Подключение ассистентов

Claude Code и Codex для Битрикс

Для тех, кто работает в терминале: одна команда добавляет сайт как MCP-сервер в Claude Code или Codex, вход по паролю кабинета, без ключей в файлах.

Подключение ассистентов

Cursor для Битрикс

Разработчику студии: сайт клиента как инструмент прямо в Cursor. Ключ интеграции на один сайт, файл mcp.json, остатки и тексты правятся из редактора.

Подключение ассистентов

DeepSeek для Битрикс

Как подключить DeepSeek к сайту на Битриксе через Cherry Studio: ключ API DeepSeek, ключ интеграции в кабинете, один JSON, и можно задавать вопросы каталогу.

Подключение ассистентов

Dify для Битрикс

Как дать агенту или чат-боту в Dify доступ к сайту на Битриксе: MCP-сервер с заголовком, ключ интеграции, бот для менеджеров и сценарии с расписанием.

Подключение ассистентов

GigaChat для Битрикс

Как связать GigaChat от Сбера с сайтом на Битриксе: агент на GigaChain с MCP-адаптером и ключ интеграции. Для разработчиков и студий, 40 строк кода.

Подключение ассистентов

YandexGPT и Алиса для Битрикс

Как подключить YandexGPT к сайту на Битриксе через Yandex AI Studio: агент с внешними инструментами, ключ интеграции, без кода. Почему Алиса AI напрямую не подходит.

Попробовать 14 дней бесплатно