1C Debug MCP Server
MCP-сервер на Go для отладки 1С через HTTP Debug Protocol: точки останова, пошаговое выполнение и просмотр переменных
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- evaluate выполняет произвольные BSL-выражения в контексте остановленной сессии
- raw_request отправляет непроверенный XML напрямую в протокол отладки dbgs.exe
Установка
Ручная установка
cd 1c-debug-mcp/go && go build -o dist/1c-debug-mcp.exe ./cmd/1c-debug-mcp/Сборка бинарника из исходников на Go, требует Go 1.23+.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер подключается к серверу отладки 1С (dbgs.exe) и дает агенту полный набор инструментов отладчика: attach и detach, установку и снятие точек останова в модулях конфигурации, расширений и внешних обработок, пошаговое выполнение (step-in, step-out, continue, pause), просмотр локальных переменных и стека вызовов, вычисление произвольных BSL-выражений в контексте остановки и отправку сырых XML-запросов к dbgs.exe. Метаданные конфигурации кэшируются локально для быстрого старта и автоматически инвалидируются при изменении исходников. Версия 2.0 переписана на Go и распространяется единым бинарником без зависимости от Node.js. Основной сценарий использования показан для IDE Kiro, но сервер работает по стандартному stdio MCP и подходит любому совместимому клиенту.
Для кого. Для 1С-разработчиков, которые хотят, чтобы агент сам ставил точки останова и разбирался в поведении кода вместо ручной отладки в конфигураторе.
Подходит, если
- Нужно, чтобы агент воспроизвел баг пошаговым выполнением и показал значения переменных
- Отлаживаете общий модуль, объект конфигурации или расширение с запущенным сервером отладки
- Нужен единый бинарник без установки Node.js
Не подходит, если
- Нужна отладка внешней обработки (EPF) точками останова: протокол 1С их не поддерживает, только pause
- Нет запущенного сервера отладки 1С (dbgs.exe) и нет 1С:Предприятие 8.3
- Работаете не в Windows-окружении с доступом к dbgs.exe
Пример запроса к агенту
Поставь точку останова в общем модуле ОбщегоНазначения на строке 42, дождись остановки и покажи локальные переменныеОграничения
Точки останова не работают во внешних обработках (EPF): это ограничение самого протокола 1С, а не сервера. Для расширений обязательно нужно явно указывать extensionName, иначе авторезолв ищет модуль только в основной конфигурации. Инструмент raw_request отправляет произвольный XML-запрос к dbgs.exe без проверки содержимого. Требует запущенного и доступного сервера отладки 1С, без него сервер бесполезен.
Как отключить. Удалите блок 1c-debug из mcp.json клиента и остановите сервер отладки dbgs.exe, если он больше не нужен.
MCP
- Транспорт
- stdio
- Авторизация
- не нужна
| Переменные окружения | |
|---|---|
| ONEC_DEBUG_URL обязательная | Адрес сервера отладки 1С (dbgs.exe). |
| ONEC_INFOBASE_ALIAS обязательная | Алиас базы, DefAlias для локальной файловой базы или имя серверной базы. |
| ONEC_DEBUG_PASSWORD секрет | Пароль сервера отладки, если он задан. |
| ONEC_CF_PATH | Путь к выгруженной конфигурации для авторезолвинга модулей. |
Проверка безопасности
- evaluate выполняет произвольные BSL-выражения в контексте остановленной сессии
- raw_request отправляет непроверенный XML напрямую в протокол отладки dbgs.exe
Коротко о README
README перечисляет возможности сервера, требования и сборку из исходников на Go, пример конфигурации mcp.json для Kiro с переменными окружения (URL отладки, алиас базы, пути к конфигурации, расширениям и обработкам), таблицу всех MCP-инструментов с параметрами и примерами ответов, типичные сценарии отладки общего модуля, расширения и внешней обработки, описание кэширования метаданных и известные ограничения по EPF и extensionName.
Частые вопросы
Нужен ли Node.js для запуска?
Нет, версия 2.0 переписана на Go и распространяется единым бинарником без зависимостей.
Можно отлаживать внешнюю обработку?
Точки останова там не работают, но можно использовать pause и step_in для пошагового разбора.
Похожие
CLI для тестирования и ред-тиминга LLM-приложений: сравнение моделей, автоматические проверки в CI и поиск уязвимостей
Playwright CLI
playwright-cli
Официальный CLI Playwright со скиллом для агентов: управление браузером короткими командами без тяжелых MCP-схем
Официальный отладчик MCP-серверов: веб-интерфейс, CLI для автоматизации и терминальный интерфейс в одном пакете
Официальный MCP-сервер SonarSource: проблемы качества и безопасности, quality gates и анализ кода из SonarQube Server и Cloud