Code Index MCP

MCP-сервер индексирует локальный репозиторий через tree-sitter и дает агенту поиск по коду, список файлов и сводку по структуре файла

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

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

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

  • Читает и индексирует все файлы выбранного проекта, в том числе конфигурации и ключи, лежащие в каталоге
  • Сохраняет индекс и настройки в служебном каталоге на диске и держит фоновый наблюдатель за файлами
Все причины и проверки

johnhuang316/code-index-mcp

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/johnhuang316-code-index-mcp

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

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

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

Что делает

Сервер запускается на вашей машине через `uvx code-index-mcp` и работает с одним проектом за раз: агент вызывает `set_project_path`, и сервер строит поверхностный индекс списка файлов. Для символов нужен глубокий индекс, его собирает `build_deep_index`. Десять языков (Python, JavaScript, TypeScript, Java, Kotlin, C#, Go, Objective-C, Zig и Rust) разбираются парсером tree-sitter на классы, функции и вызовы, остальные пятьдесят с лишним типов файлов получают базовую индексацию. Поиск `search_code_advanced` сам выбирает установленный инструмент из ugrep, ripgrep, ag и grep. По умолчанию ищет буквальную строку, с `regex=True` — регулярное выражение, но оно требует нативного инструмента, а запасной вариант понимает только буквальный поиск. Есть нечеткое совпадение, фильтр по маске файлов и постраничный вывод по десять результатов. `find_files` ищет файлы по glob-шаблону, `get_file_summary` показывает функции, импорты и сложность файла после глубокого индекса. Индекс лежит в хранилище, которое сервер готовит командой `create_temp_directory`. Наблюдатель за файлами на библиотеке watchdog обновляет список при изменениях, пакуя частые правки в одну пересборку. Инструмент `configure_file_watcher` включает и выключает его и меняет задержку.

Для кого. Для разработчиков, которые работают с большой кодовой базой через Claude Code, Codex или другой MCP-клиент и хотят, чтобы агент искал по индексу, а не перебирал каталоги.

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

  • В проекте сотни файлов, и агент тратит запросы на обход каталогов: `find_files` с шаблоном вроде `**/*.py` находит нужное за один вызов
  • Нужно найти все вызовы устаревшего метода: `search_code_advanced` ищет по имени, по регулярному выражению или нечетко
  • Требуется быстрая сводка по файлу, например `src/api/userService.ts`: `get_file_summary` покажет функции, импорты и сложность
  • Проект на Java, Kotlin, C#, Go, Rust или Zig, где важны классы и методы: для них есть отдельные разборщики tree-sitter
  • Индекс должен обновляться сам при правках агента: включается наблюдатель за файлами

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

  • Нужны правки на уровне символов и переименование через языковой сервер: этим занимается Serena, а Code Index MCP только читает и ищет
  • Нужна выдача отдельных функций и классов по полному имени с графом импортов: для такой работы подойдет jcodemunch-mcp
  • На машине нет Python 3.10 и менеджера uv, а ставить их нельзя
  • Проект на C, C++, Ruby, PHP или Swift и нужны символы: эти языки идут через запасной разбор и получают базовую индексацию без символов

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

Задай путь проекта /Users/dev/my-react-app, построй глубокий индекс и найди все места, где вызывается старый метод getUserData

MCP

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

Ограничения

  • Сводка по файлу и символы доступны только после `build_deep_index`. Без него сервер ответит `needs_deep_index`, а поверхностный индекс держит лишь список файлов.
  • Регулярные выражения работают при установленном ugrep, ripgrep или ag. Запасной поиск понимает только буквальную строку.
  • Автообновление идет через watchdog. Если оно не срабатывает, помогает `pip install watchdog` или ручной вызов `refresh_index`. На macOS наблюдатель можно переключить с FSEvents на kqueue или опрос, kqueue открывает по одному дескриптору на каждый файл, и для больших проектов может понадобиться `ulimit -n 10240`.
  • В Windows для Codex в блок `env` нужно вписать `HOME`, `APPDATA`, `LOCALAPPDATA` и `SystemRoot`, иначе `uvx` может не запуститься.
  • Сервер держит индекс одного проекта за раз. Для другого репозитория нужно снова вызывать `set_project_path` или запускать сервер с `--project-path`.

Как отключить. Удалите блок `code-index` из `mcpServers` в `claude_desktop_config.json` или `~/.claude.json`, у Codex удалите раздел `[mcp_servers.code-index]` из `~/.codex/config.toml`. Сохраненный индекс сбрасывает инструмент `clear_settings`. Установленный через pip пакет убирает `pip uninstall code-index-mcp`.

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

Чем отличаются поверхностный и глубокий индекс?

Поверхностный индекс хранит список файлов и строится при `set_project_path` и `refresh_index`. Глубокий индекс с символами строит `build_deep_index`, он нужен для `get_file_summary`. Наблюдатель за файлами обновляет только поверхностный индекс, а символы пересобираются повторным вызовом.

Как включить регулярные выражения?

Передайте `regex=True` в `search_code_advanced` и установите ugrep, ripgrep или ag. Если нативных инструментов нет, запасной поиск работает только с буквальной строкой. Список найденных инструментов обновляет `refresh_search_tools`.

Какие языки разбираются глубоко?

Десять: Python, JavaScript, TypeScript, Java, Kotlin, C#, Go, Objective-C, Zig и Rust. Остальные языки, веб-файлы, SQL, Markdown и конфигурации индексируются базово через запасной разборщик.

Как указать проект сразу при запуске?

Добавьте `--project-path /абсолютный/путь/к/репозиторию` в массив `args` конфигурации. Тогда сервер сам инициализирует проект при старте, и вызывать `set_project_path` не нужно.

Что делать, если сервер не видит новые файлы?

Проверьте `get_file_watcher_status`. Если наблюдатель не работает, поставьте `watchdog` или вызовите `refresh_index` после правок. Параметры наблюдателя меняет `configure_file_watcher`.

Обсуждение

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

MCP-серверы

MCP-сервер, который индексирует код через tree-sitter и отдает агенту отдельные функции и классы вместо целых файлов

MCP-серверРасширенный доступ2,8 тыс.Звезды репозитория
Официальный

MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов

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

Локальный индекс кодовой базы для агентов: гибридный поиск, графы зависимостей и анализ последствий изменений

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

MCP-сервер, который дает агенту читать файлы, искать по коду и запускать команды в рабочей папке

MCP-серверШирокий доступ1,2 тыс.Звезды репозитория

MCP-сервер, который строит граф кода: функции, классы, вызовы и маршруты, и отвечает на структурные запросы агента локально

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

Локальный MCP-сервер индексирует код проекта, и агент достает из индекса нужные функции вместо чтения целых файлов

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

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Code Index MCP (эта запись)нетне нужна1 007
Serenaнетне нужна30 818дает агенту правки на уровне символов через языковые серверы; Code Index MCP читает и ищет по индексу
jCodeMunch MCPнетне нужна2 817отдает отдельные функции и классы по полному имени, больше 70 языков; Code Index MCP делает упор на поиск и сводку по файлу

Коротко о README

Документация описывает быстрый запуск через `uvx` для Claude Desktop и Codex, перечень инструментов по группам, примеры запросов к агенту и список поддерживаемых файлов. Отдельные разделы посвящены наблюдателю за файлами, решению проблем на macOS и сборке из исходников. В репозитории лежат манифесты `.well-known/mcp.json` и `fastmcp.json`, Dockerfile, исходники на Python с каталогами индексации и поиска, две справочные записки в `docs` и переводы документации на китайский, японский и корейский.

Бейдж для README

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

Foxx AICode Index MCP
Foxx AI

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