Справочник

Справочник CLI

Флаги командной строки всех редакций, переменные окружения и примеры команд.

Поведение командной строки (v2.18.0)

  • Справка --help платных бинарников (mcp-1c-advanced, mcp-1c-pro) при выводе в терминал открывается постранично (через $PAGER, по умолчанию less -R); в пайпах и CI выводится обычным сплошным текстом, детерминированно для скриптов.
  • При опечатке в команде или неизвестном флаге печатается короткая подсказка вместо полного списка флагов: «Введена неправильная команда. Запустите mcp-1c-advanced --help для получения списка команд». Вместо mcp-1c-advanced подставляется имя запущенного файла, поэтому в Профессиональной редакции подсказка назовёт mcp-1c-pro, а если файл переименовали, то его новое имя.

Флаги Открытой версии mcp-1c

Совет: Флаги-переключатели со значением выключено включаются добавлением самого флага (например, --enable-semantic), без значения. Указывать true или false не нужно: например, --enable-semantic true вызовет ошибку.

ФлагПо умолчаниюОписание
--base <URL>http://localhost:8080/hs/mcp-1cURL HTTP-сервиса 1С. Env: MCP_1C_BASE_URL
--user <имя>-Пользователь HTTP-сервиса. Env: MCP_1C_USER
--password <пароль>-Пароль HTTP-сервиса. Env: MCP_1C_PASSWORD
--max-response-size <МиБ>128Максимальный размер ответа 1С в мебибайтах (MiB). Более крупный ответ отклоняется с понятной ошибкой. Увеличьте лимит для больших баз с расширениями. Env: MCP_1C_MAX_RESPONSE_SIZE
--request-timeout <сек>300Таймаут HTTP-запроса к 1С в секундах. Увеличьте, если передача очень большого ответа (например, расширений крупной базы) не успевает завершиться. Env: MCP_1C_REQUEST_TIMEOUT
--dump <путь>-Путь к выгрузке конфигурации (DumpConfigToFiles). Включает инструменты search_code и reload_dump: они регистрируются парой и без этого флага в списке инструментов отсутствуют
--reindexвыключеноПринудительная перестройка поискового индекса (игнорирует кэш)
--build-indexвыключеноПостроить (или обновить) кэш поискового индекса для --dump и выйти. Прогревает кэш на диске, чтобы последующий запуск открывал готовый индекс сразу, а не строил его в памяти с нуля. Требует --dump и доступный на запись каталог кэша (--cache-dir или MCP_1C_CACHE_DIR). В Расширенной и Профессиональной версиях 2.33.0 этого флага нет
--install <путь>-Установить расширение в базу 1С по указанному пути
--serverвыключеноРежим клиент-серверной базы: --install принимает строку сервер\база
--strip-default-rolesвыключеноРежим установки: не объявлять роль MCP_ОсновнаяРоль основной ролью конфигурации. Предназначен для баз на БСП, где запуск сеанса отклоняется сообщением про свойство ОсновныеРоли со словами «или указаны лишние роли»: эти слова помечают библиотеку, которая проверяет количество записей в списке. Снятие нашей записи возвращает количество к принимаемому значению только тогда, когда наша роль там единственная лишняя. Правило про количество прочитано в публичной копии библиотеки, а не измерено. Флаг ни разу не наблюдался снимающим этот отказ на базе, которая его воспроизводит: ни одна доступная нам база его не воспроизводит. Цена измерена: обычная учётная запись с ограниченными правами теряет доступ к HTTP-сервису, пока ей не выдадут доступ явно, а учётная запись администратора доступ сохраняет и разницы не замечает. Появился в Открытой версии 1.17.0, в Расширенной и Профессиональной версиях 2.33.0. См. Доступ по ролям
--platform <путь>автоПуть к исполняемому файлу платформы 1С (автоопределение, если не указан)
--platform-version <версия>автоВерсия платформы 1С (например 8.3.13), определяется автоматически из пути. Минимум 8.3.10 относится к команде --install. У команды --install-polling, которая есть только в Расширенной и Профессиональной версиях, минимум другой, 8.3.23
--db-user <имя>-Пользователь базы 1С для DESIGNER (режим --install)
--db-password <пароль>-Пароль базы 1С для DESIGNER (режим --install)
--cache-dir <путь>автоКаталог для кэша индекса и логов (по умолчанию системный каталог кэша). Env: MCP_1C_CACHE_DIR
--quietвыключеноПодавить весь вывод в stderr даже в терминале. Имеет приоритет над --verbose. Также включается через env MCP_1C_NO_TTY=1. В Расширенной и Профессиональной версиях 2.33.0 этого флага нет
--verboseвыключеноПринудительный подробный вывод в stderr, даже когда stdin подключён к пайпу (полезно для отладки MCP-клиента). Переопределяется флагом --quiet. В Расширенной и Профессиональной версиях 2.33.0 этого флага нет
--debugвыключеноПодробное логирование в файл (~/.cache/mcp-1c/server.log). В режиме терминала также отключает индикатор прогресса
--versionвыключеноВывести версию и выйти

Флаги Расширенной версии mcp-1c-advanced

Включает флаги Открытой версии, плюс следующие. Исключений три: в Расширенной версии 2.33.0 нет флагов --build-index, --quiet и --verbose. Остальные флаги из таблицы Открытой версии в ней есть, но у --request-timeout в Расширенной и Профессиональной версиях 2.33.0 другой формат значения и другое значение по умолчанию: не число секунд, а длительность с единицей измерения, по умолчанию 30s. Голое число там не принимается, и запуск с ним завершается ошибкой разбора: пишите --request-timeout 300s.

Любой из этих трёх флагов Расширенная версия не игнорирует, а отвергает: разбор командной строки прекращается, на stderr печатается короткая подсказка из врезки выше, и процесс завершается с кодом 1. То есть команда с таким флагом не запустится вовсе.

ФлагПо умолчаниюОписание
Мультибазовость
--base NAME=URL-Подключение базы с именем (повторяемый). Или просто URL для single-base режима
--auth NAME=USER:PASS-Учетные данные для именованной базы (повторяемый)
--dump NAME=PATH-Путь к выгрузке для именованной базы (повторяемый)
--reindex NAME-Перестроить индекс для именованной базы (повторяемый)
--default-base <NAME>перваяИмя базы по умолчанию (если не указано -- первая --base)
Long Polling
--listen <addr>-Запустить HTTP-сервер для long polling (например, :9090)
--poll-user <имя>-Basic auth логин для polling-эндпоинта
--poll-password <пароль>-Basic auth пароль для polling-эндпоинта. Не короче 12 символов: более короткий пароль отклоняется, и команда установки завершается с кодом 1, не начав установку
--poll-timeout <dur>30sТаймаут ожидания ответа от 1С в polling-режиме
--polling-extension-timeout <dur>60sБюджет загрузки расширений .cfe (GET /extensions) в polling-режиме. Отделён от --poll-timeout, чтобы крупный набор расширений не обрывался преждевременно (env: MCP_1C_POLLING_EXTENSION_TIMEOUT) (v2.23.0)
Установка расширения HTTP-сервиса
--strip-default-rolesвыключеноРежим установки командой --install: роль MCP_ОсновнаяРоль не объявляется основной ролью конфигурации. Цена измерена: обычная учётная запись с ограниченными правами теряет сервис целиком, пока доступ ей не выдан явно, а учётная запись администратора доступ сохраняет и ничего не заметит. Помочь флаг может базе на БСП, чей отказ в запуске сеанса содержит слова «или указаны лишние роли», которые отмечают старую формулировку библиотеки, и только если наша роль там единственная лишняя. Мы ни разу не наблюдали, как флаг снимает этот отказ: базы, которая его воспроизводит, у нас нет. Измерена одна версия библиотеки, БСП 3.1.5.331, и на ней проверка смотрит лишь наличие ролей АдминистраторСистемы и ПолныеПрава, так что там флаг не исправит ничего; версию БСП видно в Конфигураторе, не запуская сеанс. Поставив с флагом, выдайте доступ учётной записи коннектора: через профиль групп доступа, если в конфигурации есть справочник профилей групп доступа, иначе прямым назначением роли MCP_ОсновнаяРоль. На команду --install-polling флаг не влияет. Появился в версии 2.33.0. См. Доступ по ролям
Polling-клиент (установка в 1С)
--install-polling <путь>-Установить polling-клиент в базу 1С. С --server поддерживает удалённую установку в клиент-серверную базу
--export-polling <файл>-Экспортировать код polling-клиента в BSL-файл
--poll-server-url <URL>http://localhost:9090URL Go-сервера для настроек polling-клиента
Лицензирование
--activate <ключ>-Активировать лицензию на данной машине
--deactivateвыключеноДеактивировать лицензию (освободить слот устройства)
--license-statusвыключеноПоказать статус лицензии (ключ, срок, издание)
Синтаксис
--update-syntaxвыключеноРазобрать .hbk файлы платформы и сохранить данные синтаксиса в кэш JSON
--debugвыключеноПодробное логирование в файл (~/.cache/mcp-1c-advanced/server.log)
Информация
--versionвыключеноВывести версию бинарника и атрибуцию (BSL-LS) и выйти

Имена баз в v2.30.0

Имя базы в --dump ИМЯ=ПУТЬ, --auth ИМЯ=ЛОГИН:ПАРОЛЬ и --reindex ИМЯ должно совпадать с именем, заданным в --base. Раньше несовпадающее имя молча игнорировалось, и это тихо меняло поведение: выгрузка не подключалась, индекс не перестраивался, а учётные данные терялись, из-за чего база опрашивалась вообще без них. Теперь сервер не запускается, печатает в stderr Configuration error: dump называет базу "имя", которая не настроена. Добавьте --base имя=<адрес> или уберите лишнее имя и завершается с кодом 1. В сообщении подставляется имя флага без ведущих дефисов, а за один запуск называется одно лишнее имя.

Отдельно проверьте сочетание явного --base ИМЯ=АДРЕС с короткой формой --dump ПУТЬ без имени: короткая форма относится к базе default, которой при явно заданном --base не существует, поэтому такой запуск тоже остановится. Прежде он просто оставался без выгрузки. Флаг --skip с именем, которого нет среди настроенных баз, по-прежнему только предупреждает и работу не прерывает. Но если --skip исключит все настроенные базы, загружать станет нечего, и сервер напечатает в stderr Все настроенные базы исключены флагом --skip, загружать нечего. Уберите часть --skip или укажите базу для работы., а затем завершится с кодом 1.

Флаги Профессиональной версии mcp-1c-pro

Включает все флаги Расширенной версии, плюс следующие:

ФлагПо умолчаниюОписание
Семантический поиск
--enable-semanticвыключеноВключить векторный поиск (строит индекс, требует больше RAM)
Граф зависимостей
--enable-depgraphвыключеноВключить анализ графа зависимостей
--build-depgraphвыключеноПостроить кэш графа зависимостей и выйти
Массовый анализ
--enable-bulkanalysisвыключеноВключить массовый анализ кода
--build-bulkanalysisвыключеноПостроить кэш массового анализа и выйти
--bulkanalysis-workers <N>0Размер пула воркеров для массового анализа. 0 включает авто-подбор по размеру дампа (рекомендуется); значение больше нуля задаёт число явно (зажимается до количества ядер CPU). Доступно с v2.14.2
--vendor-baseline <путь>-Путь к чистому дампу вендора для фильтрации только доработанных модулей
CI/CD интеграция
--ciвыключеноCI режим: JSON вывод в stdout, код возврата по quality gates
--jsonвыключеноВывести полные результаты анализа как JSON
--fail-on-errors <N>-1Код возврата 1 если количество ошибок превышает порог
--fail-on-debt-score <N>-1Код возврата 1 если техдолг модуля превышает порог
Обновление типовых конфигураций
--update-helperвыключеноЗапустить сравнение конфигураций и выйти. Two-way если --vendor-old не указан, three-way иначе. При ответе свыше 1 MiB (env MCP_UPDATE_HELPER_BUDGET_BYTES) сервер сохраняет артефакт в локальный кэш и возвращает manifest {path, size_bytes, sha256, mime_type}, а AI-клиент читает файл напрямую
--vendor-old <путь>-Путь к дампу старой типовой (не указывать для two-way diff)
--vendor-new <путь>-Путь к дампу новой типовой (или конфигурация B для two-way)
--output <путь>stdoutПуть к файлу результатов
--format <формат>markdownФормат отчета: markdown, text, json, html, pdf
--report <путь>-Путь к файлу отчета (для --build-bulkanalysis)
Архитектурная визуализация
--build-archvizвыключеноЗапустить генерацию Mermaid-диаграмм и выйти
--arch-viz <режим>обязателенРежим: subsystems, doc-reg, bp или all. Значения по умолчанию нет: без этого флага команда завершается с кодом 2
--output-format <формат>mermaidФормат вывода: mermaid, svg или json
--output-dir <путь>-Каталог для записи файлов (обязателен при --arch-viz all)
--filter-subsystem <имя>-Ограничить рамки одной подсистемой (рекурсивно)
--filter-category <тип>-Ограничить тип объектов (Документ, РегистрНакопления и т. п.)
--max-nodes <N>100Максимум узлов на одной диаграмме
--show-handlerstrueПоказывать BSL-обработчики на диаграммах бизнес-процессов
Автогенерация документации
--build-autodocвыключеноЗапустить генерацию Markdown-документации и выйти
--autodoc-out <путь>docs/autoКаталог для autodoc Markdown-файлов
--autodoc-provider <имя>-LLM-провайдер: yandexgpt или gigachat
--autodoc-model <имя>-Модель провайдера (например, yandexgpt-lite)
--autodoc-kinds <список>allВиды объектов через запятую: all или подмножество Document,Catalog,Report,DataProcessor
--autodoc-regenвыключеноИгнорировать кэш и перегенерировать все объекты
--autodoc-concurrency <N>4Размер пула воркеров для autodoc
--autodoc-max-input-tokens <N>6000Лимит входных токенов на объект (модуль усекается)
--autodoc-rps <N>5.0Лимит запросов в секунду к LLM-провайдеру
Генерация тестов
--build-testgenвыключеноЗапустить разовую генерацию тестов и выйти
--enable-testgenвыключеноВключить testgen в режиме MCP-сервера
--testgen-output <путь><dump>/.testgen-outputКаталог для записи тестовых файлов
--testgen-framework <имя>autoФреймворк: yaxunit, vanessa, both или auto
--testgen-rules <список>-Подмножество правил TG001..TG020 через запятую
--testgen-regenвыключеноИгнорировать кэш и перегенерировать все тесты
--testgen-taint-regressionsвыключеноЭмитировать Vanessa-регрессии по taint-находкам (правило TG020)
--testgen-include-bspвыключеноГенерировать тесты для модулей БСП/SSL
--testgen-concurrency <N>min(CPU, 8)Число параллельных воркеров
--testgen-llm-disableвыключеноОтключить обогащение через LLM (работает без API-ключей)
--testgen-emit-sarif <путь>-Путь для SARIF 2.1.0 отчёта по testgen
--testgen-audit-trail <путь><dump>/.testgen-audit.logПуть к audit log testgen
--testgen-vendor-baseline <путь>-Путь к vendor-baseline дампу для фильтрации стандартных модулей
Генерация .epf обработок
--build-epfgenвыключеноЗапустить разовую генерацию бандлов и выйти
--enable-epfgenвыключеноВключить epfgen в режиме MCP-сервера
--epfgen-spec <путь>-YAML/JSON со списком бандлов (обязательный для --build-epfgen)
--epfgen-output <путь>-Каталог для бандлов и manifest.json
--epfgen-config-path <путь>-Путь к Configuration.xml для config-aware режима
--epfgen-regenвыключеноИгнорировать кэш и перегенерировать все бандлы
--epfgen-packвыключеноДополнительно генерировать pack.cmd / pack.sh
--epfgen-emit-testsвыключеноЭмитировать sibling YAxUnit-тесты через testgen API
--epfgen-suggest-attrsвыключеноLLM-подсказки имён реквизитов (требует config-aware + LLM)
--epfgen-concurrency <N>min(CPU, 8)Число параллельных воркеров
--epfgen-llm-disableвыключеноОтключить обогащение через LLM (работает без API-ключей)
--epfgen-emit-sarif <путь>-Путь для SARIF 2.1.0 отчёта
--epfgen-audit-trail <путь>-Путь к epfgen audit log
--epfgen-platform-version <версия>8.3.10Целевая версия 1С (контролирует версию формата MDClasses XML)
Навигация по типовым конфигурациям
--build-typicalconfigsвыключеноЗапустить разовую индексацию типовых конфигураций и выйти
--enable-typicalconfigsвыключеноВключить typicalconfigs в режиме MCP-сервера
--typicalconfigs-output <путь>-Каталог для index.json, reverse.json, manifest.json и per-subsystem .md
--typicalconfigs-dump-path <путь>-Путь к dump-каталогу (обязателен при --build-typicalconfigs)
--typicalconfigs-regenвыключеноИгнорировать кэш и регенерировать индекс
--typicalconfigs-llm-disableвыключеноОтключить обогащение через LLM (описания подсистем останутся пустыми)
--typicalconfigs-concurrency <N>min(CPU, 8)Размер пула воркеров (значение 0 означает auto)
--typicalconfigs-emit-sarif <путь>-Путь для SARIF 2.1.0 отчёта
--typicalconfigs-audit-trail <путь>-Путь к audit log по операциям typicalconfigs
--typicalconfigs-max-subsystems <N>500Cap для очень больших дампов; подсистемы свыше cap получают статус truncated
--typicalconfigs-platform-version <версия>8.3.10Целевая версия 1С
--debugвыключеноПодробное логирование в файл (~/.cache/mcp-1c-pro/server.log)
Обмен данными (v2.30.0)
--exchange-compare-root <путь>-Корневой каталог, внутри которого explain_exchange_plan принимает относительный dump_path, чтобы сравнивать выгрузки, не зарегистрированные как базы. Пустое значение (по умолчанию) выключает относительный маршрут, и остаются доступны только каталоги выгрузок зарегистрированных баз. Env: MCP_1C_EXCHANGE_COMPARE_ROOT
--exchange-drop-root <путь>-Каталог файлового обмена, который осматривает инструмент exchange_drops. Пустое значение (по умолчанию) оставляет инструмент незарегистрированным, и он не появляется в списке инструментов. Env: MCP_1C_EXCHANGE_DROP_ROOT
CFEDiff: diff расширений (подкоманда review)
review <base.cfe> <head.cfe>-Подкоманда: сравнить два .cfe. Exit code: 0 no diff, 1 diff found, 2 error
--format <формат>markdownФормат вывода: markdown, json или text
-o, --output <файл>stdoutПуть к файлу с отчётом
--ignore-*-11 фильтров технического шума: trailing whitespace, line endings, BOM, UUID-порядок и т. д. (полный список через review --help)
--no-watermarkвыключеноУбрать watermark Trial (только для verified-paid лицензий)
--diagnosticвыключеноДобавить диагностический zip-пакет (для тикетов поддержки)
--bug-reportвыключеноPII-safe tar.gz для GitHub-issue submission
--enable-ibcmdвыключеноОпциональная best-effort валидация через ibcmd (8.3.27+). Сейчас всегда даёт информационное предупреждение, не блокирует diff (см. раздел CFEDiff)
Лимиты ответов (env)
MCP_ARCHVIZ_BUDGET_BYTES1048576 (1 MiB)Бюджет ответа archviz в байтах; при превышении включается manifest fallback
MCP_AUTODOC_BUDGET_BYTES1048576 (1 MiB)Бюджет ответа autodoc в байтах
MCP_UPDATE_HELPER_BUDGET_BYTES1048576 (1 MiB)Бюджет ответа update_helper в байтах
MCP_AUTODOC_RATE_LIMIT10/60sЛимит вызовов autodoc формата <count>/<seconds>s (защита от исчерпания LLM-кредитов)

Каталоги обмена (v2.30.0)

Оба флага принимают ровно один каталог, списка через разделитель они не поддерживают. Относительное значение приводится к абсолютному от текущего рабочего каталога, а если флаг не задан, подхватывается одноимённая переменная окружения. Существование каталога при запуске не проверяется: для --exchange-drop-root инструмент всё равно регистрируется и сообщает об отсутствии каталога уже в ответе на вызов.

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

Примеры команд

# Минимальный запуск (все по умолчанию)
mcp-1c

# С аутентификацией и выгрузкой
mcp-1c --base http://server:8080/erp/hs/mcp-1c \
  --user Admin --password secret \
  --dump /dumps/erp

# Установка в клиент-серверную базу с нестандартной платформой
mcp-1c --install "srv-1c\buh_prod" --server \
  --platform "C:\Program Files\1cv8\8.3.25.1000\bin\1cv8.exe" \
  --db-user Admin --db-password pass
# Advanced: мультибазовость с polling
mcp-1c-advanced \
  --base dev=http://localhost:8080/hs/mcp-1c \
  --base staging=poll:// \
  --auth dev=Admin:dev123 \
  --dump dev=/dumps/dev \
  --listen :9090 \
  --poll-user agent --poll-password secret123456 \
  --default-base dev

# Advanced: обновить данные синтакс-помощника
mcp-1c-advanced --update-syntax

# Advanced: управление лицензией
mcp-1c-advanced --activate "MCP-XXXX-XXXX-XXXX-XXXX"    # или mcp-1c-pro
mcp-1c-advanced --license-status                     # или mcp-1c-pro
mcp-1c-advanced --deactivate                         # или mcp-1c-pro

Профессиональная: построение кэша

# Построить граф зависимостей
mcp-1c-pro --dump /path/to/dump --build-depgraph

# Построить полный анализ (антипаттерны + безопасность + метрики)
mcp-1c-pro --dump /path/to/dump --build-bulkanalysis

# Анализ только доработанных модулей (без типовых)
mcp-1c-pro --dump /path/to/dump --build-bulkanalysis --vendor-baseline /path/to/vendor

# CI/CD: quality gates
mcp-1c-pro --dump /path/to/dump --build-bulkanalysis --ci --fail-on-errors 10 --fail-on-debt-score 70

# HTML отчет
mcp-1c-pro --dump /path/to/dump --build-bulkanalysis --report report.html --format html

# Сравнение конфигураций (3-way diff)
mcp-1c-pro --update-helper --dump /path/to/custom --vendor-old /path/to/old-vendor --vendor-new /path/to/new-vendor

# Запуск MCP сервера с семантическим поиском и графом
mcp-1c-pro --dump /path/to/dump --enable-semantic --enable-depgraph

Профессиональная: визуализация, документация, тесты

# Архитектурные диаграммы (subsystems / doc-reg / bp / all)
mcp-1c-pro --dump /path/to/dump --build-archviz --arch-viz all --output-dir ./diagrams

# Markdown-документация по объектам через YandexGPT
mcp-1c-pro --dump /path/to/dump --build-autodoc \
  --autodoc-out ./docs/auto --autodoc-provider yandexgpt

# Генерация unit-тестов (YAxUnit + Vanessa)
mcp-1c-pro --dump /path/to/dump --build-testgen \
  --testgen-framework auto --testgen-output ./tests \
  --testgen-taint-regressions

# Designer-compatible .epf бандлы с упаковкой
mcp-1c-pro --build-epfgen --epfgen-spec ./bundles.yaml --epfgen-pack

# Индексация типовой конфигурации (БП, ЗУП, УТ, Розница, КА, ERP)
mcp-1c-pro --build-typicalconfigs \
  --typicalconfigs-dump-path ./dump \
  --typicalconfigs-output ./typicalconfigs-output \
  --typicalconfigs-llm-disable

# MCP-сервер с включёнными новыми инструментами
mcp-1c-pro --dump /path/to/dump \
  --enable-testgen --enable-epfgen --enable-typicalconfigs

Профессиональная: CFEDiff

# Сравнить две версии расширения, вывод в файл
mcp-1c-pro review base.cfe head.cfe --format markdown -o diff.md
echo "exit code: $?"  # 0 = no diff, 1 = diff found, 2 = error

# JSON-вывод для парсинга в CI
mcp-1c-pro review base.cfe head.cfe --format json -o diff.json

# Без watermark Trial (для verified-paid лицензий)
mcp-1c-pro review base.cfe head.cfe --no-watermark -o diff.md

# Диагностический пакет для тикета поддержки
mcp-1c-pro review base.cfe head.cfe --diagnostic -o diff.md