Мост MCP к BSL Language Server
bsl-mcp-bridge
MCP-сервер в Docker, который держит запущенным BSL Language Server и отдает агенту навигацию по коду 1С, диагностику и рефакторинг вместо grep-поиска
Средний риск
Средний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что именно он делает.
Почему такой уровень
- Инструмент rename применяет переименование символа по всему проекту при apply=true
- code_actions может вносить автоматические исправления в файлы кода
Установка
Ручная установка
docker compose build && docker compose up -dОдин проект получает один контейнер, каталог кода 1С задается в .env.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер поднимает BSL Language Server на Java 21 внутри Docker-контейнера, держит его прогретым и следит за индексацией кодовой базы 1С. Агент получает инструменты поиска символов и текста, перехода к определению, наведения с документацией, графа вызовов, диагностики документа с синтаксическими ошибками и стилем, автоисправлений и переименования символа по всему проекту. Пути к файлам агент может передавать в любом формате: относительном, контейнерном, file-URI или хостовом Windows-пути, сервер сам нормализует их и при необходимости ищет файл по суффиксу пути.
Для кого. Для разработчиков 1С, которые хотят, чтобы агент понимал структуру кода через языковой сервер, а не угадывал ее по grep.
Подходит, если
- Нужна точная навигация по символам BSL и граф вызовов перед рефакторингом
- Нужна синтаксическая диагностика кода перед коммитом
- Нужно безопасное переименование символа во всей конфигурации
Не подходит, если
- Нет Docker и 8+ ГБ памяти под BSL Language Server на большом проекте
- Нужен просто быстрый текстовый поиск без индексации
Пример запроса к агенту
Найди все места, где вызывается процедура ЗаписатьВЖурнал, и покажи граф вызовов вокруг нееОграничения
Нужны Docker и Docker Compose, IDE с поддержкой MCP и достаточно памяти: BSL Language Server требователен к RAM на больших проектах. На один проект приходится один контейнер, для нескольких конфигураций нужно несколько контейнеров. Проект развивает подход SteelMorgan/mcp-bsl-lsp-bridge, взятый за основу.
Как отключить. Остановите контейнер командой docker compose down и удалите сервер из конфигурации MCP-клиента.
MCP
- Транспорт
- http, stdio
- Авторизация
- не нужна
| Переменные окружения | |
|---|---|
| MCP_PROJECT_NAME обязательная | Имя проекта, часть имени контейнера. |
| HOST_PROJECTS_ROOT обязательная | Путь к коду 1С на хосте. |
| WORKSPACE_ROOT обязательная | Корневой каталог для BSL LS внутри контейнера. |
Проверка безопасности
- Инструмент rename применяет переименование символа по всему проекту при apply=true
- code_actions может вносить автоматические исправления в файлы кода
Коротко о README
README описывает архитектуру из MCP-моста, менеджера LSP-сессии и BSL Language Server внутри одного Docker-контейнера, таблицы инструментов по поиску, зависимостям, диагностике и рефакторингу, форматы путей и последние изменения вроде умной нормализации URI и принудительной переиндексации после did_change_watched_files. Отдельно указано, что проект взят за основу у SteelMorgan/mcp-bsl-lsp-bridge.
Частые вопросы
Нужно ли вручную открывать файлы перед hover или diagnostics?
Нет, мост сам вызывает textDocument/didOpen перед такими операциями и не дублирует открытие уже отслеживаемых документов.
Что делает call_graph в отличие от call_hierarchy?
call_hierarchy показывает один уровень вызовов, а call_graph строит полный граф средствами BSL Language Server.
Похожие
Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации
Референсные MCP-серверы
Model Context Protocol servers
Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything