# mcp-codebase-index

Разбирает проект на функции, классы и зависимости и отдаёт агенту 18 инструментов запросов вместо чтения файлов целиком.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 63
- Автор: MikeRecognex
- Лицензия: AGPL-3.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/MikeRecognex/mcp-codebase-index
- Обновлён: 2026-02-28
- HTML: https://affpapa.org/nevibecode/mcp/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` придётся напоминать агенту, что сначала идёт индекс.

## Требования
- Нужно: Python и uv (команды через uvx)

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add mcp-codebase-index -- uvx mcp-codebase-index
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>

### Codex

**Командой платформы**
```bash
codex mcp add mcp-codebase-index -- uvx mcp-codebase-index
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-codebase-index": {
            "command": "uvx",
            "args": [
                "mcp-codebase-index"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-codebase-index": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "mcp-codebase-index"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add mcp-codebase-index uvx mcp-codebase-index
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-codebase-index <команда>

## Когда брать
- найти все места, где вызывается функция, не открывая каждый файл
- понять граф зависимостей модуля перед рефакторингом
- получить список классов и интерфейсов в чужом репозитории
- освежить индекс после переключения ветки без ручного перезапуска
- срезать объём контекста при навигации по большой кодовой базе

## Примеры запросов агенту
- Покажи все функции в `src/api/`, которые вызывают `parse_config`
- Какие модули зависят от `db/session.py`?
- Найди классы с методом `handle` в `services/`

## Похожие
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872
- [AIHawk](https://affpapa.org/nevibecode/mcp/aihawk.md) — MCP-сервер · ★ 32221

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
