qvib.pro
EN

Codebase Memory MCP: граф репозитория

Codebase Memory MCP строит граф функций и вызовов репозитория для Claude Code — модель отвечает из индекса, а не перечитывает файлы. Без Docker.

open-source MCP бесплатно профи

Открытый исходный код под лицензией MIT: официальный репозиторий DeusData/codebase-memory-mcp. Ставится одним статическим бинарником без Docker и внешнего сервера БД (граф — локальный SQLite в ~/.cache/codebase-memory-mcp/), без API-ключей; установщик из коробки настраивает Claude Code. Заявленная экономия токенов (~120× / 99%, бенчмарк на 31 репо) — по замерам авторов в README, не проверенный qvib факт. проверено 2026-07-13

$ claude mcp add codebase-memory-mcp -- codebase-memory-mcp

Открыть источник ↗

Claude Code каждый раз перечитывает весь твой репозиторий с нуля — ты платишь токенами за то, что он уже «знал» 🔥

Каждый вопрос «а кто вызывает эту функцию?» превращается в веер grep и чтения файлов. Для большого репо это тысячи токенов на контекст, который модель уже видела десять раз. Codebase Memory MCP сканирует код один раз, строит граф функций / файлов / вызовов и отдаёт Claude ответы из индекса — модель больше не «ходит» по коду руками.

Это НЕ официальный Memory MCP (тот помнит твои решения и факты диалога). Здесь память про структуру кода, а не про контекст беседы. Пара к нему по духу — Context7 (свежие доки библиотек) и GitHub MCP (доступ к репе через API). Codebase Memory закрывает третью дыру: «где что лежит и что с чем связано» — локально, без облака.

Что это даёт ИИ

  • Строит и хранит граф репозитория: функции, классы, импорты, цепочки вызовов, HTTP-роуты между сервисами.
  • Отвечает на структурные вопросы из индекса: «кто вызывает X», «что сломается, если тронуть Y», обзор архитектуры, поиск мёртвого кода.
  • Ставится одним статическим бинарником: без Docker, без внешнего сервера БД, без облака и API-ключей. Граф хранится в локальном SQLite в ~/.cache/codebase-memory-mcp/ (проверено: лицензия MIT, single static binary).

Пример: «Найди все места, где вызывается process_payment, и покажи, что сломается, если поменять её сигнатуру» — Claude берёт ответ из графа, а не читает пол-репозитория.

Подключение (точные шаги)

Сначала поставь бинарник (macOS/Linux). Установщик сам находит и настраивает поддерживаемые клиенты:

curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

Есть также npm, PyPI, Homebrew, Scoop, AUR и готовые бинарники в GitHub Releases (для Windows — install.ps1 / Winget / Chocolatey). Перед запуском curl … | bash не лишним будет глянуть сам install.sh глазами.

Claude Code

Установщик прописывает Claude Code сам (плюс ещё десяток агентов: Codex, Gemini CLI, Zed и др.) в ~/.claude/.mcp.json — тогда шаг ниже можно пропустить. Вручную (бинарник называется codebase-memory-mcp):

claude mcp add codebase-memory-mcp -- codebase-memory-mcp

Проверить: claude mcp list.

Cursor / Claude Desktop

Автоустановщик Cursor не трогает — для него (и любого клиента с mcpServers) добавь блок вручную. Cursor: ~/.cursor/mcp.json или .cursor/mcp.json в корне проекта; Claude Code: ~/.claude/.mcp.json или .mcp.json в проекте.

{
  "mcpServers": {
    "codebase-memory-mcp": {
      "command": "codebase-memory-mcp",
      "args": []
    }
  }
}

Если бинарник не в PATH — впиши полный путь в command (например /usr/local/bin/codebase-memory-mcp).

Пример использования

Вот схема:

  1. Один раз проиндексируй проект — вызови инструмент index_repository на корень репо (Claude сделает это по просьбе «проиндексируй этот проект»).
  2. Проверь готовность: index_status.
  3. Спрашивай структурно: «who calls create_order?», «трасса вызова от роутера до БД», «где мёртвый код в billing/». Claude дёргает search_graph / trace_path / get_architecture вместо чтения файлов.
  4. После крупных правок — переиндексируй (detect_changes подскажет, что устарело).

Результат: структурные вопросы Claude закрывает из графа, а не веером grep по всей репе — контекст на такие запросы заметно легче.

Безопасность

  • Всё локально. Сервер и граф живут на твоей машине, код никуда не улетает — ни в облако, ни за API-ключ (их тут просто нет). Для приватных репозиториев это плюс.
  • Минимум прав. Индексируй только нужную папку проекта, а не весь $HOME. Граф-кэш (SQLite) лежит в ~/.cache/codebase-memory-mcp/ — это по сути слепок твоего кода; не коммить его в репозиторий и не клади в шаренные каталоги.
  • Проверяй установщик. curl … | bash выполняет чужой скрипт с твоими правами — открой install.sh перед запуском или ставь из npm/Homebrew.
  • Опциональный 3D-UI поднимается на localhost:9749 — держи его только на localhost, не пробрасывай наружу.
  • Prompt-injection. Инструмент возвращает куски кода и комментарии из репо — а в них может быть враждебный текст («игнорируй прошлые инструкции…»). Относись к выводу MCP как к данным, а не как к командам; не давай модели на их основе выполнять действия без твоего подтверждения.
  • Секреты (токены, .env) в индекс не тащи — исключай их из области сканирования.

Подводные камни

  • Это не долговременная память диалога. Помнит структуру кода, а не твои решения и договорённости — для этого смотри Memory MCP (официальный) в базе.
  • Граф устаревает. После больших изменений нужна переиндексация, иначе ответы будут по старой карте (index_status / detect_changes в помощь).
  • Экономия токенов — по замерам авторов. В README указаны цифры вроде «120× / 99% меньше токенов» и бенчмарк на 31 репозитории (10×) — это заявление авторов, а не факт qvib. На твоём проекте и языке число будет другим; проверяй на себе.
  • Глубина разбора зависит от языка. Полное семантическое разрешение типов (Hybrid LSP) заявлено примерно для десятка языков (Python, TypeScript, Go, Rust, Java и др.); остальные из 158 разбираются только на tree-sitter — связи там грубее.
  • Cursor из коробки не настраивается. Автоустановщик знает про Claude Code и ещё ~10 агентов, но Cursor в списке автодетекта нет — его подключаешь вручную (см. выше).
  • Молодой проект. Версия дорелизная (0.x), набор из 14 инструментов и форматы могут меняться от релиза к релизу.
  • Не заменяет чтение кода целиком. Структуру граф отдаёт быстро, но сложную бизнес-логику Claude всё равно читает построчно.