code-index-mcp
code-index-mcp
Поиск по коду для ИИ-агентов. Один бинарник, индекс в SQLite, ответ за миллисекунды. Разбирает выгрузки 1С:Предприятие 8.3 — и из Конфигуратора, и из 1С:EDT.
Полное руководство · English · Документация · Журнал изменений
Установка
Windows — одной командой
irm https://raw.githubusercontent.com/Regsorm/code-index-mcp/main/install.ps1 | iexСкачивает последний выпуск в C:\tools\code-index, запоминает папку в
переменной окружения, создаёт заготовку файла настроек и печатает готовый блок
для .mcp.json.
С параметрами — папка установки, папка с исходниками, автозапуск при входе в систему:
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/Regsorm/code-index-mcp/main/install.ps1))) `
-InstallDir 'D:\code-index' -Repo 'main=D:\Repo1C' -RegisterAutostartАвтозапуск идёт через папку автозагрузки пользователя: прав администратора не
требует, окон не показывает. Остальные параметры — -Flavor core для сборки
без 1С, -Version 1.0.0 для конкретного выпуска, -Port и -DaemonPort, если
порты по умолчанию заняты. Полный список — Get-Help .\install.ps1 -Detailed.
Windows — вручную, готовый архив из выпуска
Скачивает последний выпуск, распаковывает в C:\tools\code-index и запоминает
эту папку в переменной окружения:
$dst = 'C:\tools\code-index'
New-Item -ItemType Directory -Force $dst | Out-Null
$url = (Invoke-RestMethod https://api.github.com/repos/Regsorm/code-index-mcp/releases/latest).assets |
Where-Object name -eq 'bsl-indexer-windows-x64.zip' |
Select-Object -ExpandProperty browser_download_url
Invoke-WebRequest $url -OutFile "$env:TEMP\code-index.zip"
Expand-Archive "$env:TEMP\code-index.zip" -DestinationPath $dst -Force
setx CODE_INDEX_HOME $dstbsl-indexer — сборка с поддержкой 1С (32 инструмента). Нужна работа без 1С —
возьмите code-index-windows-x64.zip (20 инструментов). Для Linux и macOS в том
же выпуске лежат *-linux-x64.tar.gz и *-macos-arm64.tar.gz.
npm
npm install -g @regsorm/code-index-mcp
npx @regsorm/code-index-mcp serve --path /путь/к/репозиториюШаг postinstall скачивает готовый бинарник под вашу платформу — ничего не
компилируется. Пакет есть и в реестре MCP
под именем io.github.Regsorm/code-index. В обёртке только сборка без 1С.
Сборка из исходников
git clone https://github.com/Regsorm/code-index-mcp.git
cd code-index-mcp
cargo build --release -p code-index # без 1С
cargo build --release -p bsl-indexer --features enrichment # с поддержкой 1СНужен Rust 1.77+.
Related MCP server: bsl-context
Подключение к клиенту
Общий процесс по HTTP — один индекс на все сессии и все проекты:
{
"mcpServers": {
"code-index": {
"type": "http",
"url": "http://127.0.0.1:8011/mcp"
}
}
}Отдельный процесс на сессию (stdio), без фонового демона:
{
"mcpServers": {
"code-index": {
"command": "npx",
"args": ["-y", "@regsorm/code-index-mcp", "serve", "--path", "."]
}
}
}Работает с Claude Code, Cursor, VS Code, LibreChat — с любым клиентом MCP. Настройка фонового демона, список репозиториев, тонкие параметры — полное руководство.
Зачем это нужно
Языковая модель без индекса ищет по коду тем же способом, что и человек без среды разработки: перебором. Один вопрос «кто вызывает эту процедуру» превращается в десяток последовательных обходов файлов, каждый из которых читает тысячи файлов и возвращает в контекст модели куски текста — вместе с оплатой этих кусков.
code-index делает работу заранее: разбирает исходники в синтаксическое дерево,
складывает символы, тела, вызовы и метаданные в SQLite и отдаёт агенту готовый
ответ по протоколу MCP. Модель получает три строки вместо трёх файлов.
Цифры
Кодовая база | Файлов | Полная индексация | Запуск на готовом индексе |
1С:Управление Торговлей | 57 072 | 2 мин 41 с | 2,3 с |
1С:Бухгалтерия предприятия | 88 284 | 5 мин 51 с | 5,3 с |
сайт на PHP | 157 772 | 13 мин 1 с | 8,0 с |
Полная индексация — разбор всего с нуля, делается один раз. У Бухгалтерии эти 5 мин 51 с складываются так: 2 мин 38 с ядро (синтаксические деревья и запись), 1 мин 58 с надстройка 1С (метаданные, формы, права, граф вызовов), 56 с сброс базы на диск. Дальше правки подхватываются по одной, за миллисекунды.
Запуск на готовом индексе сверяет время правки и размер каждого файла — ни одного чтения содержимого, ни одного хеша.
Ответ на запрос | около 10 мс по HTTP, повторный из кэша — доли миллисекунды |
Размер бинарника | 39 МБ без 1С, 41 МБ с 1С |
Функций в индексе Управления Торговлей | 261 548 |
Вызовов в графе там же | 1 962 941 |
Замеры сделаны на одной машине под Windows с обычным жёстким диском, август 2026.
Инструменты
Каждый вызов принимает алиас репозитория, так что один сервер обслуживает несколько кодовых баз сразу — в том числе с других машин.
Поиск и навигация
| полнотекстовый поиск по функциям и классам |
| точное имя → готовое тело; при промахе подсказывает похожие имена |
| символ любого рода: функция, класс, переменная, импорт |
| импорты модуля или файла |
| карта файла без чтения исходника |
Граф вызовов
| кто вызывает процедуру и кого вызывает она |
| кратчайшая цепочка вызовов между двумя функциями |
| дерево вызовов вниз или вверх на заданную глубину |
Содержимое файлов
| чтение с диапазоном строк; содержимое кода лежит в индексе, сжатое zstd |
| список файлов по маске и метаданные одного файла |
| подстрока или регулярное выражение в телах функций и классов |
| то же по всему тексту файлов кода и текстовых файлов |
| полнотекстовый поиск по текстовым форматам |
| состояние индекса и сервера |
Для конфигураций 1С (сборка bsl-indexer, появляются сами при наличии
репозитория с выгрузкой)
| реквизиты с типами и синонимами, табличные части, измерения и ресурсы, предопределённые элементы, свойства проведения |
| паспорт объекта одним вызовом: структура, формы, модули, связи |
| обработчики событий управляемой формы, с привязкой к элементу |
| подписки на события с фильтрами по источнику и событию |
| граф связей данных: кто на кого ссылается и цепочка между двумя объектами |
| карта влияния: ссылки из метаданных, обращения в коде, права ролей |
| регистраторы регистра и движения документа |
| цепочка вызовов процедур по графу выгрузки |
| смысловой поиск процедур по именам, синонимам и комментариям |
| права ролей на объект и права одной роли |
| произвольный запрос на чтение к таблицам метаданных и графов |
Что даёт поддержка 1С
Разбираются обе формы выгрузки: XML из Конфигуратора и
.mdoиз 1С:EDT.Граф связей данных строится по ссылочным типам реквизитов, измерений и табличных частей: для Бухгалтерии предприятия это 65 421 ребро.
Из модулей извлекаются директивы компиляции (
&НаСервере,&НаКлиенте) и аннотации расширений (&Вместо,&После,&Перед) вместе с именем переопределяемой процедуры.Понимаются оба синтаксиса BSL — русский и английский.
Регистр имени объекта не важен: кириллические имена приводятся к записи из конфигурации, в ответе имя показывается канонически.
Подробности — docs/bsl-indexer.md.
Языки
Полный разбор синтаксиса: Python, JavaScript, TypeScript, Java, Rust, Go, PHP, C,
C++, C#, Ruby, Swift, 1С (BSL), HTML. Метаданные 1С — XML Конфигуратора и .mdo
из EDT. Плюс полнотекстовая индексация 50+ текстовых форматов (.md, .json,
.yaml, .toml, .sql и других).
Дальше
Полное руководство на русском — демон, конфигурация, CLI, архитектура
docs/operations.md — эксплуатация: перезапуск, добавление репозиториев, диагностика
docs/bsl-indexer.md — сборка для 1С
CHANGELOG.md — журнал изменений
Участие
Ошибки и предложения — в issues, вопросы и обсуждения — в Discussions. Как прислать правку — CONTRIBUTING.md, об уязвимостях — SECURITY.md.
Лицензия
MIT, см. LICENSE.
Проект стоит на tree-sitter, грамматике BSL от сообщества 1c-syntax, rusqlite, rayon и Rust SDK для MCP.
This server cannot be deployed
Maintenance
Related MCP Connectors
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
Repository knowledge graph MCP server for codebase understanding and debugging.
MCP server for hex.pm and hexdocs.pm: search, inspect, compare, and audit Elixir packages
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA lightning-fast, language-agnostic code analysis MCP (Model Context Protocol) server built in Rust9-
- 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.22-
- AlicenseBqualityAmaintenanceHigh-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 159 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.1743,522MIT
- 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.-