MCP:1C-DevTools
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
MCP:1C-DevTools — сервер для разработки 1С
78 инструментов для разработки в 1С:Предприятие — статический анализ, аудит кода, проверка запросов, верификация EPF, пакетная работа с конфигурацией и ibcmd.
Работает с локальными XML-выгрузками конфигурации 1С — не требует запущенной базы 1С.
Быстрый старт
Docker
# Клонируем и готовим данные
mkdir -p config-dump
# Копируем XML-выгрузку 1С в config-dump/
# Собираем и запускаем
docker build -t onec-devtools .
docker run --rm -it \
-v $(pwd)/config-dump:/data/config:ro \
-v $(pwd)/src/cf:/data/src:ro \
onec-devtools
# Или через docker-compose
docker-compose up --buildЛокально
pip install -r requirements.txt
python -m mcp_devtools --config-path ./config-dumpRelated MCP server: onec-meta-mcp
Доступные инструменты (84)
А: Метаданные (10)
Инструмент | Описание |
| Дерево метаданных по типам |
| Полная структура объекта |
| Поиск по имени/описанию |
| Граф зависимостей |
| Объекты вне подсистем |
| Сравнение двух версий метаданных |
| Ссылки на несуществующие объекты |
| Карта подсистем → объекты |
| Где используется реквизит |
| Перекрёстные ссылки: формы, модули, запросы |
А+: Графовый индекс (4)
Инструмент | Описание |
| Прямые и обратные вызовы процедур объекта (с резолвом в общий модуль) |
| Обратный BFS: что затронето при изменении объекта (по ссылкам, коллекциям, Движения, запросам) |
| Поиск объектов метаданных по имени/синониму |
| Статистика графа: вершины, процедуры, рёбра |
А+: Стандарты v8std (2)
Инструмент | Описание |
| Поиск по 1423 стандартам v8std (алиасы, заголовок, полнотекстовое перекрытие слов) |
| Текст стандарта по ID ( |
Источник корпуса стандартов — V8STD_CORPUS_PATH (по умолчанию C:/GIT/main/v8std/docs/ai/pages.jsonl).
Б: Аудит (15)
Инструмент | Описание |
| Аудит BSL-кода: очереди, транзакции, флаги загрузки, логика KPI |
| 15 антипаттернов запросов |
| Антипаттерны BSL-кода |
| Хардкод секретов |
| Устаревшие методы платформы |
| Шаблоны персональных данных |
| Анализ ролей и RLS-прав |
| Дублирующийся код |
| Невостребованные функции |
| Цикломатическая сложность |
| Аудит внешних интеграций: транспорт, идемпотентность |
| Безопасность планов обмена |
| Совместимость с версией платформы |
| Проверка флага загрузки в обработчиках записи |
| Согласованность границ транзакций |
В: Запросы (8)
Инструмент | Описание |
| Синтаксическая и семантическая валидация |
| Подсказки по оптимизации |
| Извлечение логического плана |
| Медленные паттерны запросов |
| Генерация по описанию |
| Проверка полей по метаданным |
| Проверка измерителей регистров |
| Конвертация синхронных в асинхронные |
Г: EPF-артефакты (8)
Инструмент | Описание |
| Проверка бинарного заголовка |
| Сборка → выгрузка → diff |
| Генерация из шаблона |
| Извлечение метаданных из EPF |
| Проверка полноты модулей |
| Сравнение двух EPF |
| Проверка по общим правилам BSL-аудита |
| Список команд внешн. обработки |
Д: Формы и СКД (8)
Инструмент | Описание |
| Анализ структуры формы |
| Формы без привязанных объектов |
| Аудит команд |
| Структура компоновщика данных |
| Проверка полей СКД |
| Сравнение макетов СКД |
| Аудит макетов MXL |
| Конвертация модальных вызовов |
Е: Интеграции (6)
Инструмент | Описание |
| Анализ планов обмена |
| Валидация XDTO-пакетов |
| Проверка контракта КШД |
| Аудит retry-политики |
| Аудит каскадов отмены |
| Профилактика петель данных |
Ё: Тесты и качество (6)
Инструмент | Описание |
| Шаблоны тестов (YAxUnit/Vanessa) |
| Анализ покрытия тестами |
| Метрики качества кода |
| Полная проверка (антипаттерны + дубли + мёртвый код) |
| CI/CD quality gate |
| Тренды метрик по версиям |
Ж: DevTools-ассистенты (8)
Инструмент | Описание |
| Справка по функциям платформы + вердикт exists/absent/unknown (verified_api.json) |
| Генератор запросов |
| Шаблон печатной формы |
| Шаблон отчёта СКД |
| Модальные → асинхронные вызовы |
| Синонимы функций (СтрНайти ↔ StrFind) |
| Доступность метода в версии платформы |
| Шаблоны конфигурации |
З: Конфигурация (5)
Инструмент | Описание |
| Сравнение двух сборок XML |
| Проверка готовности к сборке |
| Добавленные/удалённые объекты |
| Чеклист перед коммитом |
| Полный отчёт о конфигурации |
Конфигурация
Задаётся через переменные окружения или аргументы CLI:
Переменная | Описание | По умолчанию |
| Путь к XML-выгрузке 1С | требуется для инструментов метаданных |
| Уровень логирования | INFO |
| Тестовая 1С-база для round-trip | опционально |
| Путь к 1cv8.exe | опционально |
| Внешний JSON верифицированного справочника имён API | встроенный |
Верифицированный справочник имён API (verified_api.json)
Инструменты bsl.syntax.help, bsl.find_synonyms, bsl.version_check отвечают по
файлу mcp_devtools/verified_api.json: список имён, проверка которых выполнена
исполнением на живой платформе 8.3 (EPF-оракул с Вычислить()/Оценить() через
COM), а не по памяти автора сервера. Это защита от выдуманных методов вида
ДатаГод, ЭтоЧисло, НайтиПоСсылке, TrimLeft, ToUpper — на все них платформа
отвечает «не определена».
Три состояния ответа (важно, не путать):
Вердикт | Значит | Доказательство |
| имя разрешено компилятором 8.3 | OK / ошибка аргументов / ошибка типа / «Обращение к процедуре как к функции» / «Ожидается выражение |
| имени в API нет | явное «Процедура или функция с указанным именем не определена» / «Метод объекта не обнаружен» |
| имя не проверялось | нет записи в реестре — не приравнивать к absent |
Ключевая деталь классификации: для встроенных функций с фиксированной арностью
«Ожидается выражение» / «Ожидается символ ')'» означает, что компилятор уже узнал
имя (то есть exists) — заведомо ложное имя даёт «не определена» (контроль проверялся).
Реестр ограничен перечнем проверенных имён (83 глобальные функции, 10 методов менеджера Справочники, 18 подтверждённых пар синонимов ru/en, 49 опровергнутых имён). Пополняется прогоном оракула на тестовой ИБ; неизвестное имя проверяется ИТС/оракулом, а не выдумывается.
Про BSL LS (1c-syntax/bsl-language-server): проверка на живой сборке 1.0.7
показала, что диагностика UnknownMember (поиск несуществующих методов платформы)
выключена по умолчанию и эвристическая — для автономных .bsl без индекса
метаданных (mdoRef) она не находит ничего из наживки (Справочники...НайтиПоСсылке,
РегБ, ЭтоЧисло). Поэтому BSL LS — статический анализ кода (кодомер, smells),
но НЕ источник истины по существованию API-имён; для имён — этот реестр/ИТС.
Архитектура
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐
│ MCP-клиент │────▶│ MCP-сервер │────▶│ 1С Config │
│ (Kilo и др) │◀────│ (Python) │◀────│ (локальный) │
└──────────────┘ └──────────────────┘ └──────────────┘Работает исключительно с локальными XML-файлами — для статического анализа запущенная база 1С не нужна.
Лицензия
MIT
Пакетная автоматизация 1С
Проект содержит проверяемый workflow для Windows:
python scripts/onec-batch.py designer-capabilities
python scripts/onec-batch.py ibcmd-capabilities
python scripts/onec-batch.py ibcmd-help --ibcmd "C:\\Program Files\\1cv8\\8.3.21.1393\\bin\\ibcmd.exe"
python scripts/onec-batch.py apply-and-build-cf \
--onec "C:\\Program Files\\1cv8\\8.3.21.1393\\bin\\1cv8.exe" \
--infobase "C:\\Bases\\Test" \
--source "C:\\src\\cf" \
--output "C:\\artifacts\\build.cf"Что автоматизировано
каталог пакетных операций
1cv8.exe DESIGNER;каталог и discovery фактических команд
ibcmdчерезibcmd help;backup CF перед изменяющими операциями;
загрузка XML через
/LoadConfigFromFiles;применение через
/UpdateDBCfg;выгрузка итогового CF через
/DumpCfg;сбор exit code,
/Out-лога, размера и SHA-256;fail-fast и возможность rollback из backup CF;
передача аргументов без
shell=True, что сохраняет пробелы и кириллические пути.
Подробная матрица команд находится в skills/onec-batch-operations/SKILL.md.
Подключение к MCP-клиенту
Локальный stdio-запуск из корня репозитория:
{
"mcpServers": {
"onec-devtools": {
"command": "python",
"args": ["-m", "mcp_devtools", "--config-path", "C:/path/to/config-dump"],
"cwd": "C:/path/to/onec-devtools"
}
}
}Каталог config-dump должен содержать XML-выгрузку конфигурации. Путь к 1cv8.exe, тестовой ИБ и другим ресурсам передаётся через переменные окружения или аргументы; значения в документации намеренно обезличены.
Для пакетных операций MCP-клиент вызывает designer.capabilities или ibcmd.capabilities, затем — соответствующую операцию. Изменяющие операции требуют явного confirmed=true; credentials не записываются в логи.
Публичный MCP-клиент должен использовать list_tools, а не полагаться на README: сервер обязан объявлять доступные инструменты через MCP discovery.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
30+ deterministic dev and delivery tools: linting, metrics, diagrams, model advice, AI-text checks.
AI-powered codebase analysis — call graphs, security, dead code, complexity. 150+ tools.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
SQL validation, formatting, parsing, metadata extraction, linting, and security analysis.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with 1C:Enterprise databases through natural language, providing metadata retrieval, configuration analysis, and code generation.9-
- FlicenseNot gradedqualityBmaintenanceMCP server for searching and analyzing 1C enterprise metadata and BSL code using a SQLite backend. Enables querying configuration structure, code routines, and performing compliance checks via natural language.-
- AlicenseNot gradedqualityBmaintenanceEnables searching through 1C:Enterprise configuration source code (XML+BSL) with full-text indexing, providing tools to find code, metadata objects, procedures, and modules.MIT
- AlicenseNot gradedqualityCmaintenanceA local read-only AI workbench for navigating, auditing, and analyzing 1C:Enterprise 8.3 configurations via MCP-compatible clients.MIT