bsl-ls-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bsl-ls-mcpFind callers of ОбщийМодуль.ОбщегоНазначения.ЗначениеРеквизитаОбъекта"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bsl-ls-mcp
MCP-обёртка над BSL Language Server
для статического анализа и навигации по коду 1С (BSL). Один интерфейс наружу —
инструменты mcp__bsl-ls__* для агентов и любых MCP-клиентов.
Статус проекта. Инструмент рабочий и используется в бою, но развивается по остаточному принципу: делюсь как есть. Активной поддержки, разбора issue и приёма правок в срок не обещаю — реагирую по возможности и без гарантий. Форки и адаптация под свои задачи только приветствуются.
Подробности (архитектура, сборка, все настройки, внутренняя механика) — в README_full.md. Здесь — только как запустить и что умеет.
Что нужно
Рабочая копия исходников 1С в формате CR-выгрузки (каталог
src/cf).~14 ГБ свободной RAM — для навигации (граф держится в памяти). Диагностикам индекс не нужен, им хватает ~2 ГБ на разовый вызов.
Java 17+ или готовый бандл с portable JRE (Python/Java ставить не надо).
Related MCP server: bsl-context
Запуск
Вариант 1. Готовый бандл (рекомендуется)
Папка dist\bsl-ls-mcp\ самодостаточна (внутри Python и Java). На целевой машине:
:: 1. указать путь к исходникам 1С (или отредактировать BSL_WORKSPACE в run.cmd)
set BSL_WORKSPACE=C:\1c\src\cf
:: 2. проверка — должно напечатать [selftest] OK
run.cmd --selftest
:: 3. запуск демона (streamable-http на :8081/mcp)
run.cmdКак Windows-служба (автозапуск, авто-рестарт) — из-под администратора:
powershell -ExecutionPolicy Bypass -File install-service.ps1 -Workspace "C:\1c\src\cf"Удобный пультик к службе (лампочка статуса + старт/стоп/переиндекс) — bsl-ls-tray.exe.
Вариант 2. С исходников (нужны Python 3.10+ и Java 17+)
py -3 -m pip install -e .
$env:BSL_WORKSPACE = "C:\1c\src\cf"
bsl-ls-mcp --transport streamable-http --port 8081 # → http://127.0.0.1:8081/mcpПодключение к MCP-клиенту
В .mcp.json клиента (агентского пайплайна):
{ "bsl-ls": { "type": "streamable-http", "url": "http://127.0.0.1:8081/mcp" } }Первый вызов навигации подождёт индекс (~1.5 мин), дальше — мгновенно. Диагностики доступны сразу.
Безопасность. Демон не аутентифицирует вызовы и по умолчанию слушает только
127.0.0.1. Не выставляйте порт в сеть без обратного прокси с авторизацией (BSL_MCP_HOST=0.0.0.0заблокирован безBSL_ALLOW_REMOTE=1).path-режим ограниченBSL_WORKSPACEиBSL_ALLOWED_ROOTS. Подробнее — SECURITY.md.
Как устроено имя объекта
Везде, где инструмент просит имя — это строка с точками, как в ПолноеИмя() 1С:
Тип.Модуль → операции над модулем (диагностики)
Тип.Модуль.Метод → навигация по функции/процедуре
Тип.Объект.Форма.ИмяФормы → модуль формы (для диагностик)Примеры: ОбщийМодуль.ОбщегоНазначения, Справочник.Контрагенты.Форма.ФормаЭлемента,
ОбщийМодуль.ОбщегоНазначения.ЗначениеРеквизитаОбъекта.
Код вне корпуса (внешние обработки/отчёты) адресуется не именем, а параметром
path — произвольный каталог или .bsl-файл; индексированный корпус для этого не нужен
(см. bsl_diagnostics ниже).
Методы
Инструмент | Что делает | Вход | Кому полезно |
| Проверка кода: ошибки, стиль, устаревшие конструкции. Блокирующий гейт «нельзя сдавать с ошибками». Работает без индекса, ~5–8 c. |
| developer (перед сдачей), reviewer |
| Кто вызывает функцию — по всему корпусу. Анализ влияния «кого заденет правка». |
| analyst, architect, reviewer |
| Кого вызывает функция (исходящие вызовы). От чего зависит метод. |
| analyst, architect |
| Где объявлен метод (переход к определению). |
| все |
| Все места использования метода (со строкой кода). |
| analyst, architect |
| Сложность методов модуля: когнитивная + цикломатическая. Сигнал «стоит упростить». |
| reviewer |
| Полный реиндекс корпуса in-place (после массовых изменений конфигурации). | — | обслуживание |
Что возвращают (коротко)
bsl_diagnostics→{diagnostics, suppressed}. По умолчаниюdiagnostics— полный список толькоerror+warning(error первыми); стилевой шумinfo/hintсвёрнут вsuppressed.by_code(счётчики по кодам, чтобы не раздувать ответ). Детали свёрнутого — вызов сcode="Typo". Полеfileточно указывает модуль (менеджер/объект/форма), а для кода вне корпуса — путь файла относительно переданногоpath. Адрес — ровно один из двух:bsl_diagnostics(module_full_name="ОбщийМодуль.МойМодуль") # модуль корпуса bsl_diagnostics(path=r"C:\1c\work\<задача>\Реализация") # внешняя обработка bsl_diagnostics(path=r"...\Ext\ObjectModule.bsl") # один файлbsl_callers/bsl_callees→ список{name, type, full_name, kind}—full_nameможно сразу подать в другой инструмент.bsl_definition/bsl_references→ список{type, module, full_name, line, text}—line1-based,text— сама строка кода.bsl_complexity→ список{full_name, cognitive, cyclomatic}.
Имена в ответах — русские (как у 1С).
Поведение
Первый вызов навигации после старта ждёт индексацию (~1.5 мин на боевом корпусе), дальше — доли секунды. Диагностики индекс не ждут — отрабатывают всегда за ~5–8 c.
Свежесть: правки на диске видны без перезапуска (навигация — по
didChange, диагностики читают файл заново).Имя не разрешилось → понятная ошибка; нет результатов → пустой список.
Полная документация по параметрам, переменным окружения и устройству — в README_full.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
The official Svelte MCP server providing docs and autofixing tools for Svelte development
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
Ask a codebase what calls what: search, blast radius, paths between symbols, and diffs.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to perform local code search, indexing, and analysis across Java, JavaScript/TypeScript, .NET/C#, and Python projects through the MCP protocol.1Apache 2.0
- FlicenseNot gradedqualityAmaintenanceMCP server that validates AI-generated 1C:Enterprise (BSL) code against the real platform API. Catches unknown enum values, wrong argument counts, and missing type members by parsing the platform syntax-helper (shcntx_ru.hbk) — independent Rust implementation with built-in expression validator.20
- AlicenseNot gradedqualityAmaintenanceRust-native code index MCP server with first-class 1C:Enterprise (BSL) support. Static binary, no runtime — 25 MCP tools (18 universal + 7 BSL-specific), tree-sitter AST for 10 languages, federation across multiple repos.105MIT
- 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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vladimirov-Maxim/bsl-ls-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server