BSL CallGraph MCP Server

Локальный stdio MCP-сервер на Node.js: строит граф вызовов по выгрузке BSL-кода 1С в памяти и находит определения, вызывающих, вызываемых и зону влияния

MCP-сервер

Низкий риск

Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.

Почему такой уровень

  • Инструменты строго read-only, сервер не выполняет BSL-код и не требует сети
  • Ответы содержат имена символов, модулей и относительные пути файлов, которые видит подключенный клиент
Все причины и проверки
Российский стек

shustovm/bsl-callgraph

Установка

Ручная установка

git clone https://github.com/ShustovM/bsl-callgraph.git
cd bsl-callgraph
npm ci
npm test

Установка из исходников, требует Node.js 22 или 24.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Сервер индексирует .bsl файлы в памяти и дает MCP-клиенту семь инструментов: find_symbol и search_symbols для поиска определений по точному имени или подстроке, get_callers и get_callees для поиска вызывающих и вызываемых процедур, get_impact для транзитивного обхода зоны влияния изменения, reindex для пересборки индекса после изменения файлов и stats со server_info для состояния и возможностей сервера. Каждый вызов классифицируется как resolved (цель однозначно известна), ambiguous (несколько кандидатов) или dynamic (нужен рантайм-тип), и режим exact отдает только разрешенные ребра, а exploratory показывает неоднозначные кандидаты с указанием уверенности. Стейтфул-лексер распознает русские и английские объявления Процедура/Функция, Асинх и Экспорт, включая многострочные сигнатуры, и не превращает текст запросов внутри строк в ребра графа. Анализ статический и намеренно легковесный: не компилятор BSL и не полный вывод типов, результаты годятся как навигационная подсказка, а не доказательство.

Для кого. Для 1С-разработчиков, которым нужно быстро оценить зону влияния изменения в большой конфигурации без ручного обхода файлов.

Подходит, если

  • Нужно найти все места вызова процедуры перед ее изменением
  • Нужна оценка транзитивной зоны влияния правки на несколько уровней глубины
  • Нужна быстрая навигация по большой выгрузке BSL без открытия десятков файлов

Не подходит, если

  • Нужен точный компиляторный анализ с полным выводом типов: инструмент статический и не разрешает динамическую диспетчеризацию
  • Нужен анализ живой базы данных, а не файловой выгрузки исходников

Пример запроса к агенту

Найди всех, кто вызывает функцию РассчитатьСумму, и оцени зону влияния ее изменения на глубину 3

Ограничения

Динамическая диспетчеризация и значения в переменных не всегда разрешаются в единственную цель, одинаковые имена символов или модулей могут быть неоднозначны, препроцессор, вывод типов и метаданные рантайма не учитываются. Корень с BSL-файлами задается один раз при запуске клиентом и не может быть заменен вызовом инструмента. Результаты не гарантируют фиксированную задержку или точный процент экономии токенов.

Как отключить. Удалите регистрацию сервера из MCP-клиента, например codex mcp remove bsl-callgraph, и остановите процесс сервера, кеша на диске сервер не создает.

MCP

Транспорт
stdio
Авторизация
не нужна

Проверка безопасности

  • Инструменты строго read-only, сервер не выполняет BSL-код и не требует сети
  • Ответы содержат имена символов, модулей и относительные пути файлов, которые видит подключенный клиент

Коротко о README

README подробно описывает семь инструментов с параметрами, классификацию ребер графа на resolved/ambiguous/dynamic, границы точности статического анализа и раздел приватности: парсинг идет локально, сервер не выполняет BSL-код и не требует сети, но ответы MCP видит подключенный клиент и, возможно, удаленный агент по его политике. Даны команды установки из исходников, конфигурация для Codex CLI, Claude Code и универсального stdio-клиента с примерами для POSIX и Windows, раздел устранения неполадок и деинсталляции. Есть baseline и benchmark скрипты для измерения производительности на своей машине. Лицензия MIT.

Частые вопросы

Можно ли сменить индексируемую папку без перезапуска?

Нет, корень задается один раз аргументом запуска в конфигурации клиента, инструмент reindex только пересобирает индекс той же папки после изменения файлов.

Чем отличаются exact и exploratory режимы?

exact отдает только однозначно разрешенные вызовы, exploratory дополнительно показывает неоднозначные и динамические кандидаты с указанием причины и уверенности.

Выбор редакции

Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода

ПлагинСредний рискБез VPN292,5 тыс.Звезды репозитория
Выбор редакции

Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура

СкиллНизкий риск271,4 тыс.Звезды репозитория
Выбор редакции

Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации

CLIСредний рискБез VPN139,3 тыс.Звезды репозитория

Референсные MCP-серверы

Model Context Protocol servers

Официальный

Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything

MCP-серверСредний риск90,6 тыс.Звезды репозитория
Foxx AIBSL CallGraph MCP Server

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.