Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Rust code index MCP server, native 1C:Enterprise (BSL) support. 37 tools, AST for 14 languages.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"code-index": {
"command": "npx",
"args": [
"-y",
"@regsorm/code-index-mcp",
"serve",
"--path",
"your-value"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add code-index -- npx -y @regsorm/code-index-mcp serve --path your-value이 서버는 실행 명령어에 값을 넣어야 해서, 설정을 복사한 뒤 직접 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"code-index": {
"command": "npx",
"args": [
"-y",
"@regsorm/code-index-mcp",
"serve",
"--path",
"your-value"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 실행 명령어에 값을 넣어야 해서, 설정을 복사한 뒤 직접 채워 주세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"code-index": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@regsorm/code-index-mcp",
"serve",
"--path",
"your-value"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 Regsorm 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.15.6)은 9일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, AI Deprecations
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Поиск по коду для ИИ-агентов. Один бинарник, индекс в SQLite, ответ за миллисекунды. Разбирает выгрузки 1С:Предприятие 8.3 — и из Конфигуратора, и из 1С:EDT.
Полное руководство · English · Документация · Журнал изменений
Выгрузки с именами файлов Unicode в NFC и NFD поддерживаются; для восстановления данных старого индекса нужна пересборка (версия данных 6).
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.
Скачивает последний выпуск, распаковывает в 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 $dst
bsl-indexer — сборка с поддержкой 1С (42 инструмента). Нужна работа без 1С — возьмите code-index-windows-x64.zip (25 инструментов). Для Linux и macOS в том же выпуске лежат *-linux-x64.tar.gz и *-macos-arm64.tar.gz.
Дальше — файл настроек, запуск, подключение клиента и автозапуск. Всё это без скриптов, по шагам: установка вручную (English).
npm install -g @regsorm/code-index-mcp
npx @regsorm/code-index-mcp serve --path /путь/к/репозиторию
Шаг postinstall скачивает готовый бинарник под вашу платформу — ничего не компилируется. Пакет есть и в реестре MCP под именем io.github.Regsorm/code-index. В обёртке только сборка без 1С.
Сервер serve только читает индекс, строит его фоновый индексатор. Поэтому должны быть запущены npx @regsorm/code-index-mcp daemon run и задана переменная CODE_INDEX_HOME — иначе инструменты отвечают daemon_offline. Настройка — в полном руководстве.
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+.
Общий процесс по HTTP — один индекс на все сессии и все проекты. HTTP-сервер встроен в программу, отдельный веб-сервер не нужен; по умолчанию он слушает только 127.0.0.1:
{
"mcpServers": { "code-index": { "type": "http", "url": "http://127.0.0.1:8011/mcp" } } }
Слушает только 127.0.0.1 и принимает только loopback-значения заголовка Host. Сервер в сети (--host 0.0.0.0 или [me].ip в serve.toml) перечисляет имена клиентов в [me].allowed_hosts либо в CODE_INDEX_ALLOWED_HOSTS — иначе /mcp отвечает 403 Host header is not allowed. Подробности — полное руководство.
Отдельный процесс на сессию (stdio) — клиент сам запускает сервер при открытии сессии, порт не нужен. Фоновый индексатор (daemon run) при этом тоже должен работать: сервер только читает индекс, а строит его индексатор. Без него инструменты отвечают daemon_offline:
{
"mcpServers": { "code-index": { "command": "npx", "args": ["-y", "@regsorm/code-index-mcp", "serve", "--path", "."] } } }
Работает с Claude Code, Cursor, VS Code, LibreChat — с любым клиентом MCP. Настройка фонового демона, список репозиториев, тонкие параметры — полное руководство.
Правило «по индексированным каталогам читай через code-index» модель под нагрузкой забывает и уходит в обычное чтение файлов, которое в 3–10 раз дороже по токенам. code-index-guard — хук PreToolUse для Claude Code и Codex CLI: отклоняет обычное чтение, поиск и обход каталога только там, где индекс отдаёт тот же файл, и подсказывает нужный инструмент. Новый, ещё не проиндексированный или исключённый из индекса файл читается как обычно. Сборка и установка — crates/code-index-guard.
code-index-copy делает копию проекта (файлы под контролем git или git worktree на новой ветке) и переносит в неё базу индекса, так что индекс копии не строится заново: демон копии при запуске только сверяет файлы с базой. Файлы исходника вне git из базы копии убираются, конфиги демона и сервера выдачи копии пишутся сразу. Подробности — crates/code-index-copy.
Языковая модель без индекса ищет по коду тем же способом, что и человек без среды разработки: перебором. Один вопрос «кто вызывает эту процедуру» превращается в десяток последовательных обходов файлов, каждый из которых читает тысячи файлов и возвращает в контекст модели куски текста — вместе с оплатой этих кусков.
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.
Каждый вызов принимает алиас репозитория, так что один сервер обслуживает несколько кодовых баз сразу — в том числе с других машин.
Поиск и навигация
search_function search_class | полнотекстовый поиск по функциям и классам |
get_function get_class | точное имя → готовое тело; при промахе подсказывает похожие имена |
find_symbol | символ любого рода: функция, класс, переменная, импорт |
get_imports | импорты модуля или файла |
get_file_summary | карта файла без чтения исходника |
Граф вызовов
get_callers get_callees | кто вызывает процедуру и кого вызывает она |
find_path | кратчайшая цепочка вызовов между двумя функциями |
get_call_tree | дерево вызовов вниз или вверх на заданную глубину |
Содержимое файлов
read_file | чтение с диапазоном строк; содержимое кода лежит в индексе, сжатое zstd |
list_files stat_file | список файлов по маске и метаданные одного файла |
grep_body | подстрока или регулярное выражение в телах функций и классов |
grep_code grep_text | то же по всему тексту файлов кода и текстовых файлов |
search_text | полнотекстовый поиск по текстовым форматам |
get_stats health | состояние индекса и сервера |
Git (включается git = true у записи [[paths]]; git_path — если репозиторий лежит выше индекса)
git_log | история коммитов ревизии или локальной даты с фильтром по пути |
git_changed_files | изменённые файлы между двумя снимками: статусы, переименования, бинарные |
git_changes_by_object | те же изменения, сгруппированные по объектам метаданных 1С |
git_diff | unified diff одного файла с контекстом и пределом длины |
git_show_file | историческое содержимое файла с диапазоном строк |
Даты — YYYY-MM-DD, YYYY-MM-DD HH:MM, YYYY-MM-DDTHH:MM; зону можно задать параметром tz (+03:00 или UTC), иначе берётся локальная зона исполняющей машины (в контейнере ноды это UTC, timezone есть в каждом ответе). Пути — от корня индекса (для подкаталога изменения вне его не видны; для bare — от корня репозитория). Shallow-клон отвергается с подсказкой git fetch --unshallow, сеть инструменты не используют, а правка git/git_path применяется без перезапуска.
Для конфигураций 1С (сборка bsl-indexer, появляются сами при наличии репозитория с выгрузкой)
get_object_structure | реквизиты с типами и синонимами, табличные части, измерения и ресурсы, предопределённые элементы, свойства проведения |
get_object_profile | паспорт объекта одним вызовом: структура, формы, модули, связи |
get_form_handlers | обработчики событий управляемой формы, с привязкой к элементу |
get_event_subscriptions | подписки на события: явные источники, наборы и определяемые типы, менеджеры, расширения; способ совпадения и предупреждения о неполноте |
get_data_links find_data_path | граф связей данных: кто на кого ссылается и цепочка между двумя объектами |
find_references | карта влияния: ссылки из метаданных, обращения в коде, права ролей |
get_register_writers | регистраторы регистра и движения документа |
find_path_bsl | цепочка вызовов процедур по графу выгрузки |
query_call_sites | вызовы с контекстом места: в цикле, в Попытке, с глубиной вложенности |
get_node_structure | скелет процедуры: циклы, Попытка и ветки с номерами строк |
get_line_context | что находится на строке: процедура, содержащие её блоки, признаки |
search_terms | смысловой поиск процедур по именам, синонимам и комментариям |
get_role_rights | права ролей на объект и права одной роли |
bsl_sql | произвольный запрос на чтение к таблицам метаданных и графов |
.mdo из앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요