BSL CallGraph MCP Server

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

  • 0 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Расширенный доступ

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

  • Запускает локальный сервер, который индексирует .bsl файлы и строит граф вызовов
  • Сеть не нужна, код 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 файлы и строит граф вызовов
  • Сеть не нужна, код BSL не выполняется

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

Что делает

Сервер индексирует .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

MCP

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

Ограничения

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

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

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

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

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

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

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

Обсуждение

Вопросов и отзывов пока нет.

Российский стек

Language Server для BSL на Rust с диагностиками кода, инкрементальным анализом и встроенным MCP-сервером для ИИ-агентов

MCP-серверРасширенный доступ117Звезды репозитория
Российский стек

MCP-мост к BSL Language Server: навигация, диагностика и рефакторинг кода 1С и OneScript для агентов

MCP-серверРасширенный доступ71Звезды репозитория
Российский стек

MCP-сервер в Docker для поиска по выгрузке 1С: структурный индекс, граф вызовов и семантический поиск по коду

MCP-серверРасширенный доступ79Звезды репозитория
Российский стек

CLI-линтер и форматтер BSL со 180 диагностиками, LSP-сервером для VS Code и Cursor и MCP-инструментами для локальных ИИ-ассистентов

CLIРасширенный доступ13Звезды репозитория
Российский стек

Небольшой MCP-сервер, который запускает BSL Language Server как JAR-файл и отдает агенту анализ и форматирование BSL-кода в JSON

MCP-серверРасширенный доступ6Звезды репозитория
Российский стек

MCP-сервер строит граф метаданных и вызовов по XML- и BSL-выгрузке конфигурации 1С, с опциональным семантическим поиском через внешний эмбеддер и Qdrant

MCP-серверРасширенный доступ4Звезды репозитория

Коротко о README

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

Бейдж для README

Сообщить о проблеме