mcp-codebase-index — MCP-сервер для Claude Code: индекс кода
Разбирает проект на функции, классы и зависимости и отдаёт агенту 18 инструментов запросов вместо чтения файлов целиком.
claude mcp add mcp-codebase-index -- uvx mcp-codebase-indexЧто делает mcp-codebase-index
Сервер обходит исходники и строит структурный индекс: функции, классы, импорты, граф зависимостей и цепочки вызовов между файлами. Python разбирается через модуль ast, TypeScript и JS, Go, Rust и C# — регулярками. Markdown и текст дают секции по заголовкам, остальные файлы попадают в индекс только числом строк. Дальше агент спрашивает индекс, а не открывает файлы подряд.
В git-репозитории индекс обновляется сам: перед каждым запросом сервер смотрит git diff и git status, и если что-то поменялось, переразбирает только эти файлы. Индекс лежит в .codebase-index-cache.pkl в корне проекта — при совпадении git-ссылки старт мгновенный, при небольшом наборе правок кэш догружается и достраивается. Этот файл стоит добавить в .gitignore, он локальный.
Нужен Python 3.11+. Ставится пакетом с extra [mcp], запускается через uvx или как модуль mcp_codebase_index.server, каталог задаётся переменной PROJECT_ROOT. Claude по умолчанию тянется к своим Glob, Grep и Read, поэтому в .mcp.json одного сервера мало — в инструкциях проекта или хуках на SessionStart придётся напоминать агенту, что сначала идёт индекс.
Какие задачи решает
- найти все места, где вызывается функция, не открывая каждый файл
- понять граф зависимостей модуля перед рефакторингом
- получить список классов и интерфейсов в чужом репозитории
- освежить индекс после переключения ветки без ручного перезапуска
- срезать объём контекста при навигации по большой кодовой базе
Примеры запросов агенту
- Покажи все функции в
src/api/, которые вызываютparse_config - Какие модули зависят от
db/session.py? - Найди классы с методом
handleвservices/
Как установить mcp-codebase-index
Командой платформы
claude mcp add mcp-codebase-index -- uvx mcp-codebase-indexuvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>
Командой платформы
codex mcp add mcp-codebase-index -- uvx mcp-codebase-indexuvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>
Файл настроек
{
"mcpServers": {
"mcp-codebase-index": {
"command": "uvx",
"args": [
"mcp-codebase-index"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>
Файл настроек
{
"servers": {
"mcp-codebase-index": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-codebase-index"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>
Командой платформы
gemini mcp add mcp-codebase-index uvx mcp-codebase-indexuvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о mcp-codebase-index
Как установить mcp-codebase-index в Claude Code?
Сначала поставьте пакет: pip install "mcp-codebase-index[mcp]". Затем добавьте сервер командой claude mcp add mcp-codebase-index -- uvx mcp-codebase-index.
Что делает mcp-codebase-index?
Индексирует исходники в структурные метаданные — функции, классы, импорты, зависимости — и отдаёт агенту инструменты запросов к этому индексу. Агенту не нужно читать файлы целиком, чтобы найти нужный участок.
Нужен ли git для работы сервера?
Нет, но автоматическое дообновление индекса работает именно в git-репозиториях: сервер сверяет git diff и git status перед запросом. Без git индекс придётся пересобирать вручную.