Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BSL_MCP_HOSTNoNetwork interface to bind the MCP server to. Defaults to 127.0.0.1 (localhost only).127.0.0.1
BSL_WORKSPACEYesPath to the 1C source code repository (CR export)
BSL_ALLOW_REMOTENoSet to '1' to allow remote connections when BSL_MCP_HOST=0.0.0.0. Required for non-local access.
BSL_ALLOWED_ROOTSNoAdditional allowed root paths (e.g., external processing directories) for the 'path' parameter, separated by the platform path delimiter.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
bsl_callersB

Кто вызывает функцию. full_name: 'ОбщийМодуль.МойМодуль.ИмяФункции'. [{name, type, full_name, kind, способ}]: способ "вызов" — граф LSP (Модуль.Метод(...)); "строка" — имя метода строковым литералом ("Модуль.Метод" для ДлительныеОперации, ВыполнитьМетодКонфигурации, в переменной…), такие записи несут "строки" (номера); граф их не видит. Литерал сравнивается целиком без учёта регистра; комментарии не в счёт.

bsl_calleesB

Кого вызывает функция (outgoing calls). full_name: 'ОбщийМодуль.МойМодуль.ИмяФункции'.

bsl_diagnosticsA

Диагностики кода. Укажите РОВНО ОДИН адрес: module_full_name — модуль корпуса: 'ОбщийМодуль.МойМодуль' | 'Справочник.X.Форма.Имя'; path — любой локальный каталог или .bsl-файл (внешние обработки/отчёты, расширения), напр. 'C:\1c\work<задача>\Реализация'; UNC запрещён; text — СТРОКА кода 1С (снипет): линт до записи в файл. Обёртка в процедуру НЕ нужна (блок операторов линтуется как есть), нужна лишь синтаксическая завершённость (закрытые Если/Цикл, не оборванные выражения). Проверки ПОФАЙЛОВЫЕ, без контекста конфигурации (тип модуля/ссылки на объекты не проверяются). Для снипета по умолчанию возвращаются ВСЕ замечания (не только error+warning).

По умолчанию для module/path отдаёт полным списком только error+warning, а info/hint сворачивает в сводку suppressed.by_code (счётчики по кодам) — чтобы не переполнять бюджет на крупных модулях/формах (для text порог по умолчанию 'hint' — всё). Детали: code='Typo' (все по коду, любой severity) или min_severity='hint' (всё подряд). Зона правок — lines='2660-2781' | '10-20,35' (один файл цели) ИЛИ function='Метод[,Метод2]': только диагностики, начинающиеся в ней, ВСЕ уровни и без сворачивания; "источник".фильтр называет диапазоны (для function — найденные границы методов, от директив &… до Конец…). Источник ("источник".движок): код корпуса (module_full_name и path внутри workspace) — тёплый LSP, когда индекс готов: он видит метаданные конфигурации (тип модуля, объекты, реквизиты форм) — без ложных UnusedLocalMethod/UnusedLocalVariable в формах, с ExecuteExternalCodeInCommonModule, MissingCommonModuleMethod, UsingThisForm. Пока индекс строится (первый вызов, ~1–2 мин) — пакетный analyze без контекста конфигурации, сервер прогревается в фоне; "примечание" это называет. Код вне workspace и text — analyze. UnknownMember ненадёжен в обоих источниках (поля выборок, реквизиты регистров EDT) — не гейт. Возвращает {"diagnostics":[...], "suppressed":{"total":N,"by_code":[...]}, "источник":{"движок":"lsp"|"analyze", "примечание"?}}.

bsl_definitionB

Где объявлен метод. full_name: 'ОбщийМодуль.МойМодуль.ИмяФункции'.

bsl_referencesC

Где используется метод. full_name: 'ОбщийМодуль.МойМодуль.ИмяФункции'.

bsl_complexityA

Сложность методов модуля (когнитивная + цикломатическая). Метрика ревьюеру. РОВНО ОДИН адрес: module_full_name — 'ОбщийМодуль.МойМодуль' | 'Отчет.Х' (все модули объекта) | форма; ИЛИ path — любой локальный .bsl или каталог: внешняя обработка, расширение тестов, выгрузка ревизии MR (full_name — имя модуля 1С, где его можно определить, иначе путь от path). function (опц.) — только этот метод или перечень через запятую; ненайденный метод — ошибка «метод не найден».

bsl_reindexA

Полный реиндекс корпуса — после изменений метаданных (новые объекты, реквизиты). Правки .bsl на диске (рабочая копия, коммиты, переключение ветки) сервер получает сам перед каждым запросом навигации и диагностик — для них реиндекс не нужен.

bsl_rules_checkA

Проверка правок задачи по правилам проекта (шаблоны и проверки кода: циклы и чтение базы, форма транзакции, параметры, служебный интерфейс чужих модулей и др.). Источник правок — РОВНО ОДИН: repo (git-репозиторий исходников — выгрузки конфигуратора или проекта EDT; base — коммит до задачи, по умолчанию точка ответвления от develop, иначе HEAD; rev — ревизия вместо рабочей копии) ИЛИ пара baseline + target (каталоги). Проверяются только строки задачи; новый файл — целиком. rules — реестр правил проекта (JSON; по умолчанию BSL_RULES; без реестра — встроенный каталог проверок). only — подмножество ид правил; paths — только эти пути задачи. Возвращает {"находки":[{ид, уровень, файл, строка, текст, регламент}], "исключены":[...], "пропущено":[{что, почему}], "база":{ревизия, как} — для repo}. Индекс LSP не используется.

bsl_task_methodsB

Новые и изменённые методы задачи: [{файл, модуль, метод, вид, экспорт, строки, статус}], статус — «новый» (объявление добавлено задачей) или «изменён» (правка внутри метода). Источник правок — как у bsl_rules_check: repo (+ base, rev) ИЛИ baseline + target.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation3/5

Most tools are clearly distinct (callees vs callers vs definition vs complexity vs diagnostics vs rules_check). However, bsl_callers ('who calls a function') and bsl_references ('where a method is used') have overlapping purpose, and the descriptions do little to delineate the boundary between them beyond callers mentioning string literals. An agent could plausibly pick either tool for the same question.

Naming Consistency4/5

All tools use a consistent 'bsl_' prefix and snake_case (bsl_callees, bsl_definition, bsl_rules_check, bsl_task_methods). There is a minor mix of verb-style (bsl_reindex) and noun-style names, but overall the convention is predictable.

Tool Count5/5

Nine tools is well within the ideal range and each maps to a distinct navigation, diagnostics, or review-lifecycle capability. Nothing feels redundant or padded for a language-server MCP.

Completeness4/5

The surface covers navigation (definition/references/callers/callees), diagnostics, complexity, reindexing, and task-oriented rules/method review — a strong coverage of the code-review domain. Minor gaps remain (no document-symbol/outline or type/hover lookup), which agents can work around but would occasionally want.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues