Документация MCP-1C
Полное руководство по установке, настройке и использованию
Быстрый старт
Установка
Скачайте готовый бинарник для вашей операционной системы со страницы Releases на GitHub, или установите одной командой:
# Linux / macOS
curl -fsSL https://feenlace.ru/install.sh | sh
# Windows (PowerShell)
irm https://feenlace.ru/install.ps1 | iex
При регистрации вы получите 14-дневный пробный период Профессиональной версии со всеми возможностями. Скачайте бинарник mcp-1c-pro в личном кабинете.
mcp-1c-advanced доступен в личном кабинете после оформления подписки.
Профессиональная: Скачивание бинарника mcp-1c-pro доступно в
личном кабинете после регистрации.
14 дней пробного периода, без привязки карты.
Проверьте установку и узнайте версию бинарника:
mcp-1c-advanced --version # выводит версию и атрибуцию BSL-LS
mcp-1c-pro и ключ — в личном кабинете. Подробнее об активации, статусе и переносе лицензии — в разделе Лицензирование.
Подключение базы 1С
MCP-1C использует расширение конфигурации для чтения метаданных. Установите его автоматически:
# Файловая база - Windows mcp-1c --install "C:\Users\Dev\InfoBases\ERP" # Файловая база - Linux / macOS mcp-1c --install ~/Documents/InfoBase # Клиент-серверная база (MS SQL, PostgreSQL) mcp-1c --install "srv-1c\buh_prod" --server --db-user Admin --db-password pass
Что произойдёт при установке
- В базу 1С загрузится расширение "MCP" (~50 КБ)
- Расширение добавит HTTP-сервис для обмена данными с AI
- Расширение Открытой версии работает только на чтение, не изменяет данные и конфигурацию
- Расширенная версия добавляет возможность выполнения кода через sandbox с подтверждением и аудит-логом
- Расширение можно отключить или удалить в любой момент через Конфигуратор
Затем запустите HTTP-сервис 1С. Рекомендуемый способ -- публикация через Apache или IIS:
Конфигуратор → Администрирование → Публикация на веб-сервере
# Быстрый запуск для разработки (только Windows)
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "C:\путь\к\базе" /HTTPPort 8080
Параметр /HTTPPort -- недокументированный, работает только на Windows. На Linux используйте Apache или ibsrv.
Расширенные варианты установки (клиент-серверная и удалённая база)
Расширение MCP-1C можно установить как в файловые, так и в клиент-серверные базы данных. Способ установки зависит от типа информационной базы.
Файловая база (локальный путь)
Для файловой базы укажите локальный путь к каталогу информационной базы:
# Файловая база (локальный путь) # Windows mcp-1c --install "C:\Users\Dev\InfoBases\ERP" # Linux / macOS mcp-1c --install "/home/dev/bases/erp"
Клиент-серверная база (удалённо через сеть)
Для клиент-серверной базы используйте флаг --server. Установка выполняется удалённо, прямой доступ к серверу СУБД не требуется:
# Клиент-серверная база (удалённо через сеть)
mcp-1c --install "server-1c\erp" --server --db-user Admin --db-password pass
Удалённая установка polling-клиента Расширенная
В Расширенной версии polling-клиент устанавливается аналогично, с флагом --install-polling:
# Удалённая установка polling-клиента
mcp-1c-advanced --install-polling "server-1c\erp" --server --db-user Admin --db-password pass
Что произойдёт при установке polling-клиента
- В базу 1С загрузится расширение "MCPPolling" (~30 КБ)
- Расширение добавит регламентное задание для связи с Go-сервером
- 1С будет периодически опрашивать Go-сервер на наличие задач
- Не требует Apache/IIS, 1С сама инициирует подключение
Формат строки подключения
- •
server-name\database-name- стандартный формат - •
server-name:port\database-name- с нестандартным портом (по умолчанию 1541) - •Требуется сетевой доступ к серверу приложений 1С
--install или --install-polling, должна быть установлена платформа 1С (Конфигуратор / Designer).
Если платформа не определяется автоматически, укажите путь к 1cv8.exe вручную через флаг --platform:
mcp-1c --install "server-1c\erp" --server \ --platform "C:\Program Files\1cv8\8.3.25.1000\bin\1cv8.exe" \ --db-user Admin --db-password pass
Если версия платформы не определяется автоматически из пути, укажите её явно: --platform-version 8.3.13. Минимальная поддерживаемая версия: 8.3.10.
Настройка AI-клиента
Добавьте MCP-1C в конфигурацию вашего AI-клиента.
Claude Desktop
Файл: %APPDATA%\Claude\claude_desktop_config.json (Windows) или ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
{
"mcpServers": {
"1c": {
"command": "C:\\path\\to\\mcp-1c.exe",
"args": ["--base", "http://localhost:8080/hs/mcp-1c"]
}
}
}
Claude Code (CLI)
Файл: %USERPROFILE%\.claude.json (Windows) или ~/.claude.json (Linux/macOS). Альтернатива: команда claude mcp add.
{
"mcpServers": {
"1c": {
"command": "C:\\path\\to\\mcp-1c-pro.exe",
"args": ["--base", "http://localhost:8080/hs/mcp-1c"]
}
}
}
Cursor
Settings → MCP → Add Server
{
"mcpServers": {
"1c": {
"command": "mcp-1c",
"args": ["--base", "http://localhost:8080/hs/mcp-1c"]
}
}
}
VS Code + Copilot
Файл: .vscode/mcp.json в корне проекта
{
"servers": {
"1c": {
"command": "mcp-1c",
"args": ["--base", "http://localhost:8080/hs/mcp-1c"]
}
}
}
JetBrains IDE
Settings → Tools → AI Assistant → MCP Servers → Add
{
"servers": {
"1c": {
"command": "mcp-1c",
"args": ["--base", "http://localhost:8080/hs/mcp-1c"]
}
}
}
Первый запрос
Перезапустите AI-клиент и задайте вопрос о вашей конфигурации 1С. Примеры:
- •«Покажи структуру конфигурации моей базы 1С»
- •«Покажи все документы с реквизитом Организация»
- •«Напиши запрос: остатки товаров по складам за текущий месяц»
- •«Найди все использования регистра ТоварыНаСкладах»
- •«Объясни модуль менеджера документа РеализацияТоваровУслуг»
Конфигурация
MCP-1C поддерживает два режима подключения к базе 1С:
Файловая база
Прямое подключение к .1CD файлу через HTTP-сервис 1С.
mcp-1c --base http://localhost:8080/hs/mcp-1c
Клиент-серверная база
Через HTTP-сервис, опубликованный на сервере 1С (Apache/IIS).
mcp-1c --base http://server:8080/erp/hs/mcp-1c \ --user Admin --password secret
Мультибазовость Расширенная
Расширенная версия позволяет подключить несколько баз 1С одновременно. Каждая база получает имя, по которому AI-ассистент выбирает нужную:
mcp-1c-advanced \ --base dev=http://localhost:8080/hs/mcp-1c \ --base prod=http://prod-server:8080/erp/hs/mcp-1c \ --auth dev=Admin:pass123 \ --auth prod=ReadOnly:readonly \ --dump dev=/path/to/dev/dump \ --default-base dev
--default-base задает базу по умолчанию. Если не указан, используется первая.
Аутентификация
Три способа задать учетные данные (по приоритету):
- 1.Флаги CLI:
--userи--password(или--auth NAME=USER:PASSв мультибазовом режиме) - 2.Переменные окружения:
MCP_1C_USERиMCP_1C_PASSWORD - 3.Без аутентификации (если HTTP-сервис 1С не требует авторизации)
Выгрузка конфигурации (--dump)
Для полнотекстового поиска по коду модулей (code_search(action: "text")) необходима выгрузка конфигурации в файлы:
# 1. Выгрузите конфигурацию из Конфигуратора: # Конфигурация → Выгрузить конфигурацию в файлы... # 2. Укажите путь при запуске: mcp-1c --base http://localhost:8080/hs/mcp-1c \ --dump "C:\dumps\erp" # Принудительная перестройка индекса (игнорирует кэш): mcp-1c --base http://localhost:8080/hs/mcp-1c \ --dump "C:\dumps\erp" --reindex
Индекс строится в фоне (неблокирующий старт). MCP-сервер доступен сразу, поиск заработает после завершения индексации. Дисковый кэш ускоряет повторные запуски.
Long Polling Расширенная
Long polling позволяет подключить базу 1С без Apache/IIS. Go-сервер поднимает HTTP-эндпоинт, а 1С сама ходит за задачами через регламентное задание.
[Claude/Cursor] --stdio--> [mcp-1c-advanced] --HTTP :9090--> [1С polling client]
^ |
| v
TaskQueue <--- POST /result/{id} --- [Обработка запроса]
|
GET /poll (long poll, 25 сек)
- Платформа 1С 8.3.23+ (регламентные задания в расширениях)
- Для автозапуска: клиент-серверный режим (1С Сервер + PostgreSQL/MS SQL)
- В файловом режиме регламентные задания работают только при открытом клиенте 1С
Шаг 1. Установка расширения
Файловая база:
mcp-1c-advanced --install-polling /path/to/database \ --poll-user myuser \ --poll-password mypassword
Клиент-серверная база:
mcp-1c-advanced --install-polling "SERVER01\MyDatabase" \ --server \ --poll-user myuser \ --poll-password mypassword \ --db-user admin \ --db-password dbpass
Что происходит при установке:
- 1.Находит платформу 1С автоматически
- 2.Устанавливает расширение
MCP_Pollingчерез DESIGNER (без GUI) - 3.Расширение содержит модуль
MCP_PollingClientи регламентное заданиеMCP_PollingJob - 4.Авторестарт при сбое: 3 попытки, интервал 60 секунд
- 5.Настройки подключения встраиваются в код модуля
| Параметр | Описание |
|---|---|
| --poll-user / --poll-password | Учетные данные Basic Auth между Go-сервером и 1С |
| --db-user / --db-password | Пользователь базы 1С для DESIGNER |
| --server | Серверный режим подключения |
| --platform /path | Путь к платформе 1С (если не определяется автоматически) |
| --platform-version | Версия платформы 1С (например 8.3.13). Определяется из пути, если не указана. Минимум: 8.3.10. По умолчанию: авто |
| --poll-server-url URL | URL Go-сервера (по умолчанию http://localhost:9090) |
Шаг 2. Настройка AI-клиента
Флаг --base объявляет базу данных в формате NAME=URL. Схема poll:// указывает MCP-серверу маршрутизировать запросы через очередь задач вместо прямого HTTP-подключения к 1С. Флаг --listen задает адрес HTTP-сервера, к которому 1С будет подключаться для получения задач. Оба флага обязательны: --base mydb=poll:// объявляет polling-базу, --listen :9090 запускает HTTP-сервер.
Файл: claude_desktop_config.json
{
"mcpServers": {
"mcp-1c": {
"command": "/path/to/mcp-1c-pro",
"args": [
"--base", "mydb=poll://",
"--listen", ":9090",
"--poll-user", "myuser",
"--poll-password", "mypassword"
]
}
}
}
Для Расширенной версии замените mcp-1c-pro на mcp-1c-advanced.
Шаг 3. Проверка
- 1.Запустите AI-клиент - MCP-сервер стартует и слушает
:9090 - 2.Регламентное задание автоматически начинает polling
- 3.В журнале регистрации 1С:
"MCP.Polling: polling loop started" - 4.Проверка здоровья:
curl http://localhost:9090/health
HTTP-эндпоинты
| Эндпоинт | Метод | Описание |
|---|---|---|
| /poll | GET | Long poll, таймаут 25 сек. 200 + JSON при наличии задачи, 204 если задач нет |
| /result/{id} | POST | Результат выполнения задачи. 200 при успехе, 404 если задача не найдена |
| /health | GET | Проверка здоровья сервера. Без авторизации |
/poll и /result требуют Basic Auth (--poll-user/--poll-password).
Сравнение режимов
| Критерий | HTTP-сервис (стандартный) | Long Polling |
|---|---|---|
| Мин. версия платформы | 8.3.10 | 8.3.23 |
| Требует Apache/IIS | Да | Нет |
| Файловый режим | Работает всегда | Только при открытом клиенте 1С |
| Автоматический запуск | После публикации | Клиент-серверный: да, файловый: нет |
| Задержка | ~50 мс | До 25 сек на первый запрос, далее мгновенно |
| Настройка | Сложнее (Apache/IIS + публикация) | Одна команда |
Отладка
- •Журнал регистрации 1С: события с источником
"MCP.Polling" - •Проверка здоровья:
curl http://localhost:9090/health - •Ручная проверка polling:
curl -u user:pass http://localhost:9090/poll --max-time 30 - •Регламентное задание: Администрирование → Регламентные и фоновые задания →
MCP_PollingJob - •Файловый режим: регламентные задания работают только при открытом клиенте 1С
Инструменты Открытой версии
9 отдельных инструментов, доступных в бесплатной версии mcp-1c. Каждый инструмент вызывается AI-клиентом по имени.
action (code_read, code_search, code_execute, system и др.).
get_metadata_tree
ОткрытаяДерево метаданных конфигурации
Список всех объектов конфигурации по категориям: справочники, документы, регистры, перечисления, обработки и т.д. Без фильтра возвращает сводку (категории и количество), с фильтром — полный перечень объектов категории. Вызывается первым при работе с незнакомой конфигурацией.
Параметры:
filter(необязательный) - категория для фильтрации:Справочники,Документы,РегистрыНакопления,ОбщиеМодулии др.
get_object_structure
ОткрытаяРеквизиты и структура объекта
Реквизиты, табличные части, измерения, ресурсы, значения перечисления и типы полей объекта метаданных. Возвращает точные имена реквизитов, табличных частей и значений перечислений для запросов и кода. Для Enum дополнительно возвращается список значений перечисления.
Параметры:
object_type(обязательный) - тип объекта:Catalog,Document,Enum,InformationRegister,AccumulationRegisterи др.object_name(обязательный) - имя объекта, напримерРеализацияТоваровУслуг
execute_query
ОткрытаяВыполнить запрос к данным
Выполняет запрос на языке 1С (только ВЫБРАТЬ/SELECT — безопасно для рабочих баз) и возвращает данные: элементы справочников, документы, остатки, обороты, сведения из регистров. Поддерживает параметры через &Имя.
Параметры:
query(обязательный) - текст запроса (только ВЫБРАТЬ/SELECT)limit(необязательный) - максимум строк результата (по умолчанию 100, максимум 1000)parameters(необязательный) - параметры запроса в виде пар ключ-значение (имя без амперсанда)
validate_query
ОткрытаяПроверка синтаксиса запроса
Проверяет синтаксис запроса 1С без выполнения и находит ошибки в ВЫБРАТЬ/SELECT. Рекомендуется вызывать перед execute_query.
Параметры:
query(обязательный) - текст запроса для проверки
search_code
ОткрытаяПоиск по коду модулей
Полнотекстовый поиск по коду всех модулей конфигурации. Три режима: smart (полнотекстовый с ранжированием BM25, по умолчанию), regex (регулярные выражения), exact (точная подстрока). Поддерживает BSL-синонимы: поиск по английским именам находит русские и наоборот.
Параметры:
query(обязательный) - поисковый запросmode(необязательный) -smart,regexилиexactcategory(необязательный) - фильтр по типу метаданных (Документ,ОбщийМодуль)module(необязательный) - фильтр по типу модуля (МодульОбъекта,МодульМенеджера)limit(необязательный) - максимум результатов (по умолчанию 50, максимум 500)
Требует: --dump (путь к выгрузке конфигурации DumpConfigToFiles)
get_form_structure
ОткрытаяСтруктура формы объекта
Структура управляемой формы: элементы интерфейса, команды, кнопки и обработчики событий. Состав элементов и обработчики берутся из Form.xml выгрузки конфигурации; без --dump возвращаются только имя и заголовок формы.
Параметры:
object_type(обязательный) - тип объекта:Document,Catalog,DataProcessorи др.object_name(обязательный) - имя объекта метаданныхform_name(необязательный) - имя формы (без него возвращается первая найденная)
Полная структура требует: --dump
get_event_log
ОткрытаяЖурнал регистрации
Чтение журнала регистрации 1С — лог ошибок, действий пользователей и системных событий. Фильтрация по дате, уровню важности и пользователю.
Параметры (все необязательные):
start_date,end_date- период в формате ISO 8601level- уровень важности:Ошибка,Предупреждение,Информация,Примечаниеuser- имя пользователя 1С для фильтрацииlimit- максимум записей (по умолчанию 50, максимум 500)
get_configuration_info
ОткрытаяИнформация о конфигурации
Общая информация о базе 1С: название конфигурации, версия, поставщик, версия платформы, режим работы (файловый / клиент-серверный). Полезно вызвать первым делом, чтобы понять, с какой конфигурацией работаете. Параметров нет.
bsl_syntax_help
ОткрытаяСправочник функций языка 1С
Справка по 180 встроенным функциям, методам типов и объектным паттернам языка 1С (BSL): строки, числа, даты, коллекции, файлы, HTTP, XML/JSON, транзакции, методы ТаблицаЗначений/Массив/Структура/Соответствие/Запрос и др. Возвращает синтаксис, параметры и пример использования.
Параметры:
query(обязательный) - название функции на русском или английском, напримерСтрНайтиилиStrFind
MCP-промпты
Открытая версия также регистрирует готовые MCP-промпты — заранее заготовленные сценарии, которые AI-клиент подставляет в диалог. В Claude Desktop они доступны через меню «+» (или иконку слэш-команд) рядом с полем ввода, в Claude Code — командой /mcp (промпты подключённого MCP-сервера). Промпт разворачивается в готовую инструкцию и сам вызывает нужные инструменты.
- •
review_module- ревью кода модуля: анализ на ошибки, нарушения стандартов 1С, производительность, читаемость и работу с транзакциями. Аргументы:object_type,object_name - •
find_duplicates- поиск дублирующегося и избыточного кода в модулях объекта с предложениями по рефакторингу. Аргументы:object_type,object_name - •
explain_object- объяснение назначения и устройства объекта: какие данные хранит, с чем связан, какую бизнес-логику содержат его модули. Аргументы:object_type,object_name
Сервер регистрирует и другие промпты (написание проведения, оптимизация запроса, объяснение конфигурации, анализ ошибки, помощь с отчётом, справочные промпты по синтаксису запросов и навигации по метаданным).
Инструменты Расширенной версии
6 консолидированных инструментов, доступных по подписке
В Расширенной версии возможности Открытой объединены в консолидированные инструменты с параметром action (code_read, code_search, code_execute, system). К ним добавлены два новых инструмента — code_analyze и code_generate — и новые действия в уже существующих инструментах:
code_analyze
РасширеннаяАнализ и проверка кода
Действия:
action: "explain"- глубокий статический анализ кода BSL с 6 анализаторами: сложность, ошибки, стиль, производительность, безопасность, совместимостьaction: "check"- проверка кода BSL на типичные ошибки и антипаттерныaction: "compatibility"- анализ совместимости с версиями платформы 1С, breaking changes, матрица совместимости
code_generate
РасширеннаяГенерация и оптимизация кода
Действия:
action: "query"- генерация запросов 1С по текстовому описанию с учетом структуры конфигурацииaction: "print_form"- генерация кода печатных форм: шапка, табличная часть, итогиaction: "async_convert"- преобразование синхронных вызовов BSL в асинхронныеaction: "optimize_query"- статический анализ запросов на 15 антипаттернов производительности
Дополнительные действия в инструментах Открытой версии
code_read(action: "context")- умный контекст: связанные объекты, регистры, модули, подписки на событияcode_search(action: "syntax_help")- справка по функциям и типам платформы из файлов синтакс-помощника (.hbk)code_execute(action: "code")- безопасное выполнение произвольного кода BSL в контексте базы 1С
Расширения .cfe
РасширеннаяПоиск и чтение кода расширений
Расширенная версия автоматически обнаруживает установленные расширения конфигурации (.cfe) и включает их модули в code_search и code_read. Результаты расширений помечаются префиксом [Расш].
Инструменты Профессиональной версии
Включает все инструменты Расширенной, плюс глубокий анализ всей кодовой базы, архитектурная визуализация, автогенерация документации, генерация тестов и .epf обработок, навигация по типовым конфигурациям, структурный diff расширений .cfe. Большинство возможностей требуют предварительного построения кэша или разовой генерации.
bulk_analyze
ПрофессиональнаяМассовый анализ кодовой базы 1С
Комплексный анализ всей кодовой базы: антипаттерны, дубли кода, мертвый код, аудит безопасности, метрики качества. Требует предварительного построения кэша командой --build-bulkanalysis.
Действия:
action: "summary"- сводка по всей кодовой базе: количество модулей, находок по категориям, общий балл техдолгаaction: "findings"- антипаттерны и ошибки кода (30 правил): неоптимальные запросы, утечки ресурсов, устаревшие конструкцииaction: "duplicates"- дубли кода (MinHash + LSH): похожие фрагменты в разных модулях с процентом совпаденияaction: "deadcode"- мертвый код: неиспользуемые процедуры, переменные, параметрыaction: "security"- аудит безопасности BSL (11 правил SEC): SQL-инъекции, небезопасные вызовы, утечки данныхaction: "metrics"- метрики качества: LOC, цикломатическая сложность, глубина вложенности, балл техдолга (0-100)action: "trends"- динамика показателей между запусками анализа
Параметры:
cvss_format- формат отчёта приaction=findings+category=security:auto(по умолчанию, группировка по CVSS-критичности),grouped(всегда CVSS-группировка),flat(плоский список)
Требует: --dump + --build-bulkanalysis (предварительное построение кэша)
code_analyze → dependency_graph
ПрофессиональнаяГраф зависимостей объектов
Визуализация связей между модулями конфигурации. Требует предварительного построения кэша командой --build-depgraph.
Параметры:
object(обязательный) - имя объекта метаданных для анализа зависимостейdirection- направление обхода:reverse(кто зависит от объекта),forward(от кого зависит объект),bothdepth- глубина обхода графа (1-3)format- формат вывода:text,json,mermaid
Требует: --dump + --build-depgraph (предварительное построение кэша)
code_search → semantic
ПрофессиональнаяСемантический поиск по коду
code_search action=text mode=semantic. Прежний action=semantic будет полностью удалён в одной из будущих мажорных версий.
Поиск по смыслу, а не по тексту. Находит связанный код даже если названия отличаются. Требует флага --enable-semantic при запуске.
Режимы:
mode: "semantic"- чистый векторный поиск (LSA, Randomized SVD)mode: "hybrid"- комбинация BM25 + векторный поиск для максимальной точности
Требует: --dump + --enable-semantic
Архитектурная визуализация
ПрофессиональнаяMermaid-диаграммы архитектуры конфигурации
Команда --build-archviz строит Mermaid-диаграммы трёх уровней архитектуры: иерархия подсистем и их вложенность, связи документов с регистрами накопления, сведений и бухгалтерии, бизнес-процессы с точками маршрута и BSL-обработчиками.
Опционально диаграммы экспортируются в SVG или JSON. Поддерживается фильтрация по конкретной подсистеме или категории объектов, ограничение количества узлов и пакетный экспорт всех режимов сразу.
Пример запуска:
mcp-1c-advanced --build-archviz \ --arch-viz all \ --output-dir ./diagrams \ --dump /path/to/dump
Параметры:
--build-archvizзапустить генерацию диаграмм и выйти--arch-vizрежим:subsystems,doc-reg,bpилиall--output-formatформат:mermaid,svgилиjson(по умолчаниюmermaid)--output-dirкаталог для записи файлов (обязателен при--arch-viz all)--filter-subsystemограничить рамки одной подсистемой (рекурсивно по вложенным)--filter-categoryограничить тип объектов (Документ, РегистрНакопления и т. п.)--max-nodesмаксимум узлов на диаграмме (по умолчанию 100)--show-handlersпоказывать BSL-обработчики на диаграммах бизнес-процессов (по умолчанию включено)
При ответе свыше 1 MiB (env MCP_ARCHVIZ_BUDGET_BYTES) сервер сохраняет артефакт в локальный кэш и возвращает manifest {path, size_bytes, sha256, mime_type} — AI-клиент читает файл напрямую.
Требует: --dump
Настройка LLM провайдера
ПрофессиональнаяУчётные данные YandexGPT или GigaChat для LLM-функций
Четыре функциональности Профессиональной редакции используют внешние LLM API для обогащения результатов: Автогенерация документации (--build-autodoc), Генерация тестов (--build-testgen), Генерация .epf обработок (--build-epfgen) и Навигация по типовым конфигурациям (--build-typicalconfigs).
Поддерживаются два провайдера: YandexGPT (по умолчанию, выбирается флагом --autodoc-provider yandexgpt) и GigaChat (--autodoc-provider gigachat). Учётные данные читаются из переменных окружения и должны быть заданы до запуска.
Переменные окружения:
# YandexGPT (по умолчанию) export YANDEXGPT_API_KEY=AQVN... export YANDEXGPT_FOLDER_ID=b1g... # GigaChat export GIGACHAT_CLIENT_ID=... export GIGACHAT_CLIENT_SECRET=...
Где взять учётные данные:
- YandexGPT сервисный аккаунт Yandex Cloud с ролью
ai.languageModels.user, API-ключ выпускается в консоли Yandex Cloud, идентификатор каталога указан там же на странице каталога - GigaChat регистрация в портале разработчика Сбера, после этого выпускаются
Client IDиClient Secretдля авторизации
Если переменные не заданы, бинарник завершит работу с ошибкой вида --autodoc-provider=yandexgpt требует переменные окружения YANDEXGPT_API_KEY и YANDEXGPT_FOLDER_ID (или аналогично для GigaChat).
Запуск без LLM:
--testgen-llm-disableгенерация только скелетов YAxUnit/Vanessa без LLM-комментариев--epfgen-llm-disableгенерация бандлов .epf без LLM-обогащения--typicalconfigs-llm-disableиндексация подсистем без описаний (Markdown-файлы будут пустыми)- У
--build-autodocотдельного флага отключения LLM нет: автогенерация документации полностью построена на ответах модели и без API-ключей не запускается
Автогенерация документации
ПрофессиональнаяMarkdown-описания объектов через YandexGPT или GigaChat
Команда --build-autodoc формирует отдельный Markdown-файл для каждого объекта конфигурации с описанием назначения, реквизитов, табличных частей и связей с другими объектами.
Поддерживаются провайдеры YandexGPT и GigaChat. Результаты кэшируются: повторный запуск регенерирует только изменившиеся объекты, если не задан --autodoc-regen.
Пример запуска:
mcp-1c-advanced --build-autodoc \ --dump /path/to/dump \ --autodoc-out ./docs/auto \ --autodoc-provider yandexgpt
Параметры:
--build-autodocзапустить генерацию документации и выйти--autodoc-outкаталог для autodoc Markdown-файлов (по умолчаниюdocs/auto)--autodoc-providerLLM-провайдер:yandexgptилиgigachat--autodoc-modelмодель провайдера (например,yandexgpt-lite)--autodoc-kindsвиды объектов через запятую:allлибоDocument,Catalog,AccumulationRegister,InformationRegister,Report,DataProcessor--autodoc-regenигнорировать кэш и перегенерировать все объекты--autodoc-concurrencyразмер пула воркеров (по умолчанию 4)--autodoc-max-input-tokensлимит входных токенов на объект (модуль усекается, по умолчанию 6000)--autodoc-rpsлимит запросов в секунду к LLM-провайдеру (по умолчанию 5.0)
При ответе свыше 1 MiB (env MCP_AUTODOC_BUDGET_BYTES) сервер сохраняет артефакт в локальный кэш и возвращает manifest {path, size_bytes, sha256, mime_type} — AI-клиент читает файл напрямую.
Требует: --dump + API-ключ выбранного LLM-провайдера (см. Настройка LLM провайдера)
Генерация тестов
ПрофессиональнаяАвтоматическая генерация YAxUnit и Vanessa-тестов
Команда --build-testgen анализирует BSL-модули конфигурации и формирует scaffold-тесты YAxUnit для экспортированных процедур и функций (правила TG001-TG019), Vanessa .feature сценарии для taint-находок с критичностью CVSS не ниже Medium (правило TG020), а также файл manifest.json с итогами прогона.
Доступна как разовая генерация (--build-testgen) либо в режиме MCP-сервера (--enable-testgen) для интерактивных запросов от AI-ассистента.
Пример запуска:
mcp-1c-advanced --build-testgen \ --dump /path/to/dump \ --testgen-framework auto \ --testgen-output ./tests
Параметры:
--build-testgenзапустить разовую генерацию тестов и выйти--enable-testgenвключить testgen в режиме MCP-сервера--testgen-outputкаталог для записи тестовых файлов (по умолчанию<dump>/.testgen-output)--testgen-frameworkфреймворк:yaxunit,vanessa,bothилиauto(выбирается по типу объекта)--testgen-rulesподмножество правил TG001..TG020 через запятую--testgen-regenигнорировать кэш и перегенерировать все тесты--testgen-taint-regressionsэмитировать Vanessa-регрессии по taint-находкам (правило TG020)--testgen-include-bspгенерировать тесты для модулей БСП/SSL--testgen-concurrencyчисло параллельных воркеров (по умолчаниюmin(CPU, 8))--testgen-llm-disableотключить обогащение через LLM (работает без API-ключей)--testgen-emit-sarifпуть для SARIF 2.1.0 отчёта по testgen--testgen-audit-trailпуть к audit log testgen (по умолчанию<dump>/.testgen-audit.log)--testgen-vendor-baselineпуть к vendor-baseline дампу для фильтрации стандартных модулей
Требует: --dump + API-ключ LLM-провайдера или флаг --testgen-llm-disable (см. Настройка LLM провайдера)
Генерация .epf обработок
ПрофессиональнаяDesigner-compatible XML+BSL бандлы внешних обработок 1С
Команда --build-epfgen формирует Designer-compatible XML+BSL бандлы для всех 6 видов внешних обработок 1С: ПечатнаяФорма, ЗаполнениеОбъекта, СозданиеСвязанныхОбъектов, Отчет, ДополнительнаяОбработка, ДополнительныйОтчет. Каждый бандл соответствует БСП-контракту и готов к загрузке Конфигуратором.
Опционально формируются скрипты pack.cmd / pack.sh для сборки бинарного .epf. В config-aware режиме при наличии Configuration.xml LLM может предлагать имена реквизитов, согласованные с метаданными целевой конфигурации.
Доступна как разовая генерация (--build-epfgen) либо в режиме MCP-сервера (--enable-epfgen) для интерактивных запросов от AI-ассистента.
Пример запуска:
mcp-1c-advanced --build-epfgen \ --epfgen-spec ./bundles.yaml \ --epfgen-pack
Параметры:
--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для сборки.epfчерез Конфигуратор--epfgen-emit-testsэмитировать sibling YAxUnit-тесты через testgen API--epfgen-suggest-attrsLLM-подсказки имён реквизитов (требует config-aware + LLM)--epfgen-concurrencyчисло параллельных воркеров (по умолчаниюmin(CPU, 8))--epfgen-llm-disableотключить обогащение через LLM (работает без API-ключей)--epfgen-emit-sarifпуть для SARIF 2.1.0 отчёта--epfgen-audit-trailпуть к epfgen audit log--epfgen-platform-versionцелевая версия 1С (по умолчанию8.3.10); контролирует версию формата MDClasses XML
Параметр rule_id (в YAML/JSON-спецификации бандла, а также в MCP-вызове epfgen.generate) принимает идентификаторы из набора EG001-EG020 (полный список встроенных правил).
Требует: --epfgen-spec для разовой генерации + API-ключ LLM-провайдера или флаг --epfgen-llm-disable (см. Настройка LLM провайдера)
Навигация по типовым конфигурациям
ПрофессиональнаяАвтоматическая классификация семейства типовой и индекс подсистема ↔ объект
Команда --build-typicalconfigs определяет семейство типовой конфигурации по сигнатурам метаданных и строит двусторонний индекс подсистема ↔ объект для AI-навигации. Поддерживается распознавание основных линеек: Бухгалтерия предприятия 3.0, Зарплата и управление персоналом 3.1, Управление торговлей 11, Розница, Комплексная автоматизация и ERP.
Объекты классифицируются по правилам TC001-TC020 на shared (БСП/SSL), bp_specific, zup_specific, ut_specific и retail_specific. Поверх классификации детектируются кастомные доработки заказчика поверх типовой конфигурации.
В результате формируется набор артефактов: index.json (подсистема → объекты), reverse.json (объект → подсистемы), manifest.json с метаданными о версии платформы и обнаруженном семействе, а также по одному .md файлу на каждую подсистему с LLM-обогащённым описанием.
В режиме MCP-сервера (--enable-typicalconfigs) AI-ассистент получает доступ к единому tool typicalconfigs с действиями detect (определить семейство), subsystems (список подсистем), lookup (найти объект по имени), reverse_lookup (из объекта в подсистемы) и extension_points (точки расширения).
Пример запуска (разовая индексация):
mcp-1c-advanced --build-typicalconfigs \ --typicalconfigs-dump-path ./dump \ --typicalconfigs-output ./typicalconfigs-output \ --typicalconfigs-llm-disable
Пример запуска (MCP-сервер с включённой навигацией):
mcp-1c-advanced --enable-typicalconfigs \ --base main=https://erp.example.com \ --dump main=./dump
Параметры:
--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размер пула воркеров (по умолчаниюmin(CPU, 8), значение0означает auto)--typicalconfigs-emit-sarifпуть для SARIF 2.1.0 отчёта--typicalconfigs-audit-trailпуть к audit log по операциям typicalconfigs--typicalconfigs-max-subsystemscap для очень больших дампов (по умолчанию 500); подсистемы свыше cap получают статусtruncated--typicalconfigs-platform-versionцелевая версия 1С (по умолчанию8.3.10)
Требует: API-ключ LLM-провайдера или флаг --typicalconfigs-llm-disable (см. Настройка LLM провайдера)
Подавление проверок прагмами typconf:ignore
Чтобы выборочно отключить классификацию или проверки typicalconfigs на уровне отдельной строки или процедуры, используйте комментарии-прагмы в BSL-коде:
// Отключить проверку для конкретной строки: ВыполнитьСлужебнуюЛогику(); // typconf:ignore // Отключить проверки в пределах процедуры целиком: Процедура КастомнаяОбработка() Экспорт // typconf:ignore // ...тело процедуры... КонецПроцедуры
Прагма typconf:ignore действует только в области, где она объявлена (на текущей строке или в текущей процедуре) и не отключает классификацию объекта в целом.
CFEDiff — структурный diff расширений
ПрофессиональнаяСравнение двух версий расширения .cfe с typed-разбором BSL, форм и метаданных
Замена ручному diff или git-diff бинарных .cfe (которые показывают только «файл изменён»). CFEDiff распаковывает оба расширения, разбирает структуру и выдаёт Markdown-отчёт с детальным сравнением BSL-кода, форм и метаданных.
Для кого:
- 1С-разработчики, работающие с расширениями типовых конфигураций (yaxunit, BIA-Standard и т. д.)
- DevOps-команды с CI/CD pipeline для расширений
- Team leads на code review для PR с изменениями
.cfe
Способ 1. Через Claude Code (MCP-инструмент)
В режиме MCP-сервера действие code_review.review_extension принимает пути к двум .cfe и возвращает Markdown-отчёт прямо в чате.
Пример вызова:
{
"action": "review_extension",
"base_path": "/repo/master/MyExt.cfe",
"head_path": "/repo/feature/MyExt.cfe",
"format": "markdown"
}
Способ 2. CLI для CI и pre-commit
Подкоманда review бинарника mcp-1c-pro запускается из CI или git-hook:
mcp-1c-pro review base.cfe head.cfe --format markdown -o diff.md
echo "exit code: $?" # 0 = no diff, 1 = diff found, 2 = error
Подходит для:
- pre-commit hook — блокирует PR, если BSL-diff превышает порог
- GitHub Actions / GitLab CI — оставляет рендер diff комментарием на PR
- daily backup-diff — что изменилось со вчера
Готовый шаблон GitHub Actions см. в docs/cfediff/example-workflow.yml репозитория mcp-1c-advanced.
Опциональные флаги
--format markdown|json|textформат вывода (по умолчаниюmarkdown)--ignore-*(11 флагов) фильтры технического шума: trailing whitespace, line endings, BOM, UUID-порядок и т. д.--no-watermarkубрать водяной знак Trial (доступно только для verified-paid лицензий)--diagnosticдобавить диагностический zip-пакет (для тикетов поддержки)--bug-reportPII-safe tar.gz для GitHub-issue submission--enable-ibcmdэкспериментальная валидация через ibcmd (8.3.27+, опционально)
Что внутри Markdown-отчёта
# CFEDiff **Base:** path/to/base.cfe (SHA-256 ...) **Head:** path/to/head.cfe (SHA-256 ...) ## Сводка - Добавлено: 8 объектов - Удалено: 1 объект - Изменено: 9 объектов - BSL-строк (+/-): 7065 / 238 ## Изменённые объекты ### CommonModule РГП_ГлобальныйПоискВызовСервера @@ -1,20 +1,122 @@ +// @skip-check bsl-legacy-check-pragma-for-unused-method - Баг ЕДТ #Область ОбработчикиСобытий ... ## Активные фильтры - IgnoreTrailingWhitespace - IgnoreLineEndings ...
Поддерживаемые форматы экспорта
CFEDiff умеет читать оба формата:
- Canonical Designer экспорт через 1С Designer
DESIGNER /DumpCfg(8.3.x) - ibcmd-Mac/Linux экспорт через
ibcmd config export(8.3.27+)
Лицензирование
- Trial (14 дней) полный функционал + watermark с датой истечения лицензии
- Pro / verified-paid чистый вывод без watermark, флаг
--no-watermarkдоступен - Advanced (без Pro) запуск
reviewвернётsubcommand requires Pro edition+ exit 2
Текущие ограничения
- Structural diff форм для расширений, выгруженных через
ibcmd config export, использует hash-fallback (изменилась форма / не изменилась). Детальный структурный diff форм работает на canonical-выгрузке из Designer. - Опциональная ibcmd-валидация (флаг
--enable-ibcmd, по умолчанию выключена) — это best-effort слой сверки через официальную CLIibcmd. Сейчас она всегда завершается информационным предупреждением (IBCMD_NOT_AVAILABLE) и не выполняет canonical-сравнение черезconfig export; результат diff от неё не зависит и не блокируется (exit code не меняется). - Foreign-UUID naming некоторые ChildObjects (CommonModule, заимствованные из других расширений) отображаются как UUID, а не по имени.
Цена: см. тарифы для актуальной стоимости Pro-лицензии.
Подкоманда review. Требует Pro или Trial-лицензию.
Корпоративная редакция
СкороДля компаний. Сейчас в разработке — доступ по запросу.
Корпоративная редакция включает все возможности Профессиональной и добавляет функции для командного и корпоративного использования:
- Все из Профессиональной
- Корпоративные возможности
- Trust Layer — маскирование персональных данных
- Аудит-лог и мониторинг
- On-premise deployment
- Поддержка с SLA
Ориентировочная стоимость и состав уточняются. Актуальные условия — на странице тарифов.
Связаться по запросуСправочник CLI
Флаги Открытой версии mcp-1c
| Флаг | По умолчанию | Описание |
|---|---|---|
| --base <URL> | http://localhost:8080/hs/mcp-1c | URL 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). Включает code_search |
| --reindex | false | Принудительная перестройка поискового индекса (игнорирует кэш) |
| --install <путь> | - | Установить расширение в базу 1С по указанному пути |
| --server | false | Режим клиент-серверной базы: --install принимает строку сервер\база |
| --platform <путь> | авто | Путь к исполняемому файлу платформы 1С (автоопределение, если не указан) |
| --platform-version <версия> | авто | Версия платформы 1С (например 8.3.13), определяется автоматически из пути. Минимум: 8.3.10 |
| --db-user <имя> | - | Пользователь базы 1С для DESIGNER (режим --install) |
| --db-password <пароль> | - | Пароль базы 1С для DESIGNER (режим --install) |
| --cache-dir <путь> | авто | Каталог для кэша индекса и логов (по умолчанию — системный каталог кэша). Env: MCP_1C_CACHE_DIR |
| --quiet | false | Подавить весь вывод в stderr даже в терминале. Имеет приоритет над --verbose. Также включается через env MCP_1C_NO_TTY=1 |
| --verbose | false | Принудительный подробный вывод в stderr, даже когда stdin — это пайп (полезно для отладки MCP-клиента). Переопределяется флагом --quiet |
| --debug | false | Подробное логирование в файл (~/.cache/mcp-1c/server.log). В режиме терминала также отключает индикатор прогресса |
Флаги Расширенной версии mcp-1c-advanced
Включает все флаги Открытой версии, плюс следующие:
| Флаг | По умолчанию | Описание |
|---|---|---|
| Мультибазовость | ||
| --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-эндпоинта |
| --poll-timeout <dur> | 30s | Таймаут ожидания ответа от 1С в polling-режиме |
| Polling-клиент (установка в 1С) | ||
| --install-polling <путь> | - | Установить polling-клиент в базу 1С. С --server поддерживает удалённую установку в клиент-серверную базу |
| --export-polling <файл> | - | Экспортировать код polling-клиента в BSL-файл |
| --poll-server-url <URL> | http://localhost:9090 | URL Go-сервера для настроек polling-клиента |
| Лицензирование | ||
| --activate <ключ> | - | Активировать лицензию на данной машине |
| --deactivate | false | Деактивировать лицензию (освободить слот устройства) |
| --license-status | false | Показать статус лицензии (ключ, срок, издание) |
| Синтаксис | ||
| --update-syntax | false | Разобрать .hbk файлы платформы и сохранить данные синтаксиса в кэш JSON |
| --debug | false | Подробное логирование в файл (~/.cache/mcp-1c-advanced/server.log) |
| Информация | ||
| --version | false | Вывести версию бинарника и атрибуцию (BSL-LS) и выйти |
Флаги Профессиональной версии mcp-1c-pro
Включает все флаги Расширенной версии, плюс следующие:
| Флаг | По умолчанию | Описание |
|---|---|---|
| Семантический поиск | ||
| --enable-semantic | false | Включить векторный поиск (строит индекс, требует больше RAM) |
| Граф зависимостей | ||
| --enable-depgraph | false | Включить анализ графа зависимостей |
| --build-depgraph | false | Построить кэш графа зависимостей и выйти |
| Массовый анализ | ||
| --enable-bulkanalysis | false | Включить массовый анализ кода |
| --build-bulkanalysis | false | Построить кэш массового анализа и выйти |
| --vendor-baseline <путь> | - | Путь к чистому дампу вендора для фильтрации только доработанных модулей |
| CI/CD интеграция | ||
| --ci | false | CI режим: JSON вывод в stdout, код возврата по quality gates |
| --json | false | Вывести полные результаты анализа как JSON |
| --fail-on-errors <N> | -1 | Код возврата 1 если количество ошибок превышает порог |
| --fail-on-debt-score <N> | -1 | Код возврата 1 если техдолг модуля превышает порог |
| Обновление типовых конфигураций | ||
| --update-helper | false | Запустить сравнение конфигураций и выйти. 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 | false | Запустить генерацию Mermaid-диаграмм и выйти |
| --arch-viz <режим> | subsystems | Режим: subsystems, doc-reg, bp или all |
| --output-format <формат> | mermaid | Формат вывода: mermaid, svg или json |
| --output-dir <путь> | - | Каталог для записи файлов (обязателен при --arch-viz all) |
| --filter-subsystem <имя> | - | Ограничить рамки одной подсистемой (рекурсивно) |
| --filter-category <тип> | - | Ограничить тип объектов (Документ, РегистрНакопления и т. п.) |
| --max-nodes <N> | 100 | Максимум узлов на одной диаграмме |
| --show-handlers | true | Показывать BSL-обработчики на диаграммах бизнес-процессов |
| Автогенерация документации | ||
| --build-autodoc | false | Запустить генерацию 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 | false | Игнорировать кэш и перегенерировать все объекты |
| --autodoc-concurrency <N> | 4 | Размер пула воркеров для autodoc |
| --autodoc-max-input-tokens <N> | 6000 | Лимит входных токенов на объект (модуль усекается) |
| --autodoc-rps <N> | 5.0 | Лимит запросов в секунду к LLM-провайдеру |
| Генерация тестов | ||
| --build-testgen | false | Запустить разовую генерацию тестов и выйти |
| --enable-testgen | false | Включить testgen в режиме MCP-сервера |
| --testgen-output <путь> | <dump>/.testgen-output | Каталог для записи тестовых файлов |
| --testgen-framework <имя> | auto | Фреймворк: yaxunit, vanessa, both или auto |
| --testgen-rules <список> | - | Подмножество правил TG001..TG020 через запятую |
| --testgen-regen | false | Игнорировать кэш и перегенерировать все тесты |
| --testgen-taint-regressions | false | Эмитировать Vanessa-регрессии по taint-находкам (правило TG020) |
| --testgen-include-bsp | false | Генерировать тесты для модулей БСП/SSL |
| --testgen-concurrency <N> | min(CPU, 8) | Число параллельных воркеров |
| --testgen-llm-disable | false | Отключить обогащение через 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 | false | Запустить разовую генерацию бандлов и выйти |
| --enable-epfgen | false | Включить epfgen в режиме MCP-сервера |
| --epfgen-spec <путь> | - | YAML/JSON со списком бандлов (обязательный для --build-epfgen) |
| --epfgen-output <путь> | - | Каталог для бандлов и manifest.json |
| --epfgen-config-path <путь> | - | Путь к Configuration.xml для config-aware режима |
| --epfgen-regen | false | Игнорировать кэш и перегенерировать все бандлы |
| --epfgen-pack | false | Дополнительно генерировать pack.cmd / pack.sh |
| --epfgen-emit-tests | false | Эмитировать sibling YAxUnit-тесты через testgen API |
| --epfgen-suggest-attrs | false | LLM-подсказки имён реквизитов (требует config-aware + LLM) |
| --epfgen-concurrency <N> | min(CPU, 8) | Число параллельных воркеров |
| --epfgen-llm-disable | false | Отключить обогащение через 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 | false | Запустить разовую индексацию типовых конфигураций и выйти |
| --enable-typicalconfigs | false | Включить typicalconfigs в режиме MCP-сервера |
| --typicalconfigs-output <путь> | - | Каталог для index.json, reverse.json, manifest.json и per-subsystem .md |
| --typicalconfigs-dump-path <путь> | - | Путь к dump-каталогу (обязателен при --build-typicalconfigs) |
| --typicalconfigs-regen | false | Игнорировать кэш и регенерировать индекс |
| --typicalconfigs-llm-disable | false | Отключить обогащение через 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> | 500 | Cap для очень больших дампов; подсистемы свыше cap получают статус truncated |
| --typicalconfigs-platform-version <версия> | 8.3.10 | Целевая версия 1С |
| --debug | false | Подробное логирование в файл (~/.cache/mcp-1c-pro/server.log) |
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 | false | Убрать watermark Trial (только для verified-paid лицензий) |
| --diagnostic | false | Добавить диагностический zip-пакет (для тикетов поддержки) |
| --bug-report | false | PII-safe tar.gz для GitHub-issue submission |
| --enable-ibcmd | false | Опциональная best-effort валидация через ibcmd (8.3.27+). Сейчас всегда даёт информационное предупреждение, не блокирует diff (см. раздел CFEDiff) |
| Лимиты ответов (env) | ||
MCP_ARCHVIZ_BUDGET_BYTES |
1048576 (1 MiB) | Бюджет ответа archviz в байтах; при превышении — manifest fallback |
MCP_AUTODOC_BUDGET_BYTES |
1048576 (1 MiB) | Бюджет ответа autodoc в байтах |
MCP_UPDATE_HELPER_BUDGET_BYTES |
1048576 (1 MiB) | Бюджет ответа update_helper в байтах |
MCP_AUTODOC_RATE_LIMIT |
10/60s | Лимит вызовов autodoc формата <count>/<seconds>s (защита от исчерпания LLM-кредитов) |
Примеры команд
# Минимальный запуск (все по умолчанию) 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 secret \ --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
Поддерживаемые платформы
Операционные системы
| ОС | MCP-сервер | Автоустановка | HTTP-сервис 1С |
|---|---|---|---|
| Windows (x64) | Да | Да | Apache/IIS или /HTTPPort |
| macOS (x64, ARM) | Да | Да | Нет (ограничение платформы 1С) |
| Linux (x64, ARM64) | Да | Да | Apache или ibsrv |
Платформы 1С: 8.3.x и 8.5.x (коммерческая и учебная).
AI-клиенты
| AI-клиент | Статус | Примечания |
|---|---|---|
| Claude Desktop | Полная поддержка | Нативная поддержка MCP |
| Claude Code (CLI) | Полная поддержка | Терминальный клиент Anthropic |
| Cursor | Полная поддержка | Settings → MCP |
| Windsurf | Полная поддержка | MCP-совместимый |
| VS Code + Copilot | Полная поддержка | Через GitHub Copilot MCP |
| VS Code + Continue | Полная поддержка | Open Source расширение |
| JetBrains IDE | Полная поддержка | IntelliJ, GoLand и другие |
Лицензирование платных версий
Расширенная и Профессиональная версии требуют лицензионный ключ. Лицензия привязывается к конкретной машине при активации. Процесс одинаковый для mcp-1c-pro и mcp-1c-advanced.
Активация
mcp-1c-pro --activate "MCP-XXXX-XXXX-XXXX-XXXX" # или mcp-1c-advanced
Пример вывода
License activated successfully! Edition: Pro Expires: 2026-04-14
Ключ активируется один раз. Лицензия хранится локально и проверяется периодически.
Проверка статуса
mcp-1c-pro --license-status # или mcp-1c-advanced
Пример вывода
License: ACTIVE Key: MCP-XXXX-XXXX-XXXX-XXXX Expires: 2026-04-14 Edition: Pro
Деактивация
mcp-1c-pro --deactivate # или mcp-1c-advanced
Пример вывода
License deactivated.
Деактивация освобождает слот устройства. Используйте перед переносом лицензии на другую машину.
Обновление
Платные бинарники умеют обновляться сами. Флаг --update проверяет наличие новой версии и, если она есть, скачивает её и заменяет текущий бинарник на месте.
mcp-1c-pro --update # или mcp-1c-advanced
Пример вывода
Текущая версия: ... Проверка обновлений... Обновление до ... выполнено успешно.
- Загрузка идёт через лицензионный сервер: запрос авторизуется лицензионным ключом и идентификатором машины.
- Перед заменой бинарника проверяется криптографическая подпись (Ed25519) скачанного файла — это защищает от подмены.
- Если установлена последняя версия, выводится
Установлена последняя версия.и бинарник не меняется. - После обновления перезапустите MCP-сервер (и AI-клиент, если он держал процесс).
Обновление данных синтаксиса
# Автоматически найдет платформу mcp-1c-pro --update-syntax # или mcp-1c-advanced # Или укажите путь вручную mcp-1c-pro --update-syntax --platform /opt/1cv8/8.3.25.1000
Разбирает файлы синтакс-помощника платформы (shcntx_ru.hbk) и сохраняет в локальный кэш. После обновления перезапустите MCP-сервер.
Что произойдёт
- Бинарник найдёт установленную платформу 1С на вашей машине
- Распарсит файлы справки (.hbk) вашей версии платформы
- Сохранит данные в кэш (~/.cache/mcp-1c/syntax/ или %LocalAppData%)
- При следующем запуске
code_search(action: "syntax_help")будет использовать справку именно вашей версии
Часто задаваемые вопросы
--base NAME=URL (повторяемый флаг). AI-ассистент сам выбирает нужную базу.
--base.
code_search(action: "text") -- действие полнотекстового поиска по всему коду модулей конфигурации. Для его работы необходима выгрузка конфигурации в файлы (Конфигуратор → Конфигурация → Выгрузить конфигурацию в файлы). Путь указывается через --dump. Индекс строится в фоне (~7 сек для 13 000+ модулей) и кэшируется на диске.
Расширенная -- платная версия с 6 консолидированными инструментами. Возможности Открытой объединены в инструменты с параметром action (code_read, code_search, code_execute, system), к ним добавлены code_analyze (глубокий анализ кода, совместимость) и code_generate (оптимизация запросов, генерация кода, печатные формы). Плюс расширенный синтакс-помощник (.hbk), мультибазовость, поддержка расширений .cfe, long polling и другое.
Профессиональная -- включает все инструменты Расширенной плюс: bulk_analyze (массовый анализ всей кодовой базы), граф зависимостей, семантический поиск, аудит безопасности, метрики качества, CI/CD интеграция, помощник по обновлению типовых, HTML/PDF отчеты, архитектурная визуализация (Mermaid-диаграммы), автогенерация документации (YandexGPT/GigaChat), генерация YAxUnit и Vanessa тестов, генерация Designer-compatible .epf обработок и навигация по типовым конфигурациям (БП, ЗУП, УТ, Розница, КА, ERP). При регистрации вы получаете 14-дневный пробный период Профессиональной версии.
Сравнение тарифов →
mcp-1c-pro --deactivate # или mcp-1c-advanced на старой машине, затем mcp-1c-pro --activate YOUR-KEY # или mcp-1c-advanced на новой. Деактивация освобождает слот устройства.
История изменений
Загрузка...
Остались вопросы?
Напишите нам или загляните в репозиторий на GitHub