repo-graph — граф кода для навигации агента

repo-graph

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

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

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

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

  • Сервер читает исходники репозитория и пишет кэш в .glia/graph
  • Команда install правит конфигурацию агентов и выдает автоматическое разрешение на вызовы
Все причины и проверки

james-chahwan/repo-graph

Установка

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

npx skillfoxx add mcp/repo-graph

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

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

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

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

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

  • Сервер читает исходники репозитория и пишет кэш в .glia/graph
  • Команда install правит конфигурацию агентов и выдает автоматическое разрешение на вызовы

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

Что делает

repo-graph один раз сканирует репозиторий и строит граф: модули, классы, функции, маршруты, сервисы и компоненты, а также связи между ними, то есть импорты, вызовы и межстековые HTTP-запросы. Агент работает с шестью инструментами: `orient`, `find`, `impact`, `trace`, `read` и `refresh`. Он получает карту проекта в несколько сотен токенов вместо тысяч строк кода. Граф связывает вызов `fetch` или `axios` на фронтенде с маршрутом и обработчиком на бэкенде, даже если у сторон нет общей строки. То же делают gRPC, GraphQL, WebSocket, очереди и события. Поддерживаются Go, Rust, TypeScript, React, Angular, Vue, Python, Java и Kotlin, Scala, C#, Ruby, PHP, Swift, C и C++, Dart, Elixir, Solidity и Terraform. Инструмент `impact` считает радиус поражения правки, `trace` проводит функцию от маршрута до данных, а `find` принимает и текст ошибки или стектрейс. Если ответа нет, сервер отличает факт от эвристики. Каждый инструмент работает и как команда оболочки, например uvx mcp-repo-graph `find` `checkout`.

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

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

  • Монорепозиторий с фронтендом и бэкендом на разных языках, а ошибка идет через границу HTTP-вызова
  • Незнакомый унаследованный проект, где неясно, что и чем затронуто
  • Нужен радиус поражения правки в сервисе платежей до того, как ее вносить
  • Падает тест, и стектрейс надо превратить в список файлов для чтения
  • Функциональность проходит через очередь, событие и gRPC между несколькими сервисами

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

  • Небольшой проект на одном языке с понятной задачей: модель прочтет файлы сама, и граф будет лишним слоем
  • Цель в экономии токенов: сам слой MCP добавляет постоянную стоимость на каждый ход
  • Нужен анализ языка вне списка: для него граф получится неполным, и инструмент `orient` покажет слепые зоны
  • Код нельзя сканировать на локальной машине, а запускать нужно только удаленно

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

Проведи вход пользователя от маршрута до базы данных и покажи, что сломается, если я изменю UserService.

MCP

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

Переменные окружения

REPO_GRAPH_WATCH
Значение 0 отключает наблюдатель за файлами

Ограничения

Нужны Python 3.11 и uv для запуска через uvx, колеса с движком на Rust есть для Linux, macOS и Windows. Наблюдатель за файлами держит граф в памяти: около 165 МБ на проекте в 3,5 тысячи узлов и до 940 МБ на очень большом, REPO_GRAPH_WATCH=0 его отключает.

Первый запуск в каждом репозитории разбирает все заново. Ссылки между сторонами строятся эвристикой, поэтому сервер помечает слепые зоны и вид ответа: факт или предположение. Выигрыш по токенам автор показал на одном случае, исправлении оператора в проекте на Go и Angular, и обобщать его на любой репозиторий нельзя.

Как отключить. Выполните uvx mcp-repo-graph `uninstall`: команда уберет конфигурацию, блок инструкций и разрешения у всех агентов и оставит данные графа в папке .glia/graph. Папку можно удалить вручную.

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

Как поставить repo-graph одной командой?

Команда uvx mcp-repo-graph install находит Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Codex, Gemini CLI, `opencode` и Kiro, пишет их MCP-конфигурацию и добавляет блок инструкций. С флагом --dry-run команда лишь показывает план и ничего не меняет.

Нужен ли MCP-сервер, чтобы пользоваться графом?

Нет. Каждый из шести инструментов доступен командой оболочки, например uvx mcp-repo-graph `trace` `login`. Постоянный MCP-сервер удобен в долгой сессии агента, а команды выгодны для CI и редких вопросов: загрузка графа занимает около 0,6 секунды на проекте в три тысячи узлов.

Что делает инструмент `impact`?

Показывает радиус поражения правки: что она затронет вперед или от чего зависит назад, с причиной связи в каждой строке. Большой радиус выдается обзором из 25 строк, дальше ответ сужают через `scope` или просят все строки флагом `full`.

Отправляются ли мой код и граф куда-нибудь?

Нет. Телеметрии, проверок обновлений и сбора данных нет, граф лежит в .glia/graph проекта. Сеть нужна только для установки пакетов и при указании git-адреса в --repo.

На каких языках работает граф?

Go, Rust, TypeScript с React, Angular и Vue, Python, Java и Kotlin, Scala, Clojure, C#, Ruby, PHP, Swift, C и C++, Dart, Elixir, Solidity, Terraform и SCSS. Какие места извлечены не полностью, показывает `orient` в слепых зонах.

Обсуждение

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

MCP-серверы

CodeGraph на Rust

codegraph-rust

Граф кода для агента на Rust: четыре MCP-инструмента показывают, что заденет правка, как устроена архитектура и где хрупкие места проекта

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

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

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

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

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

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

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

CLI и MCP-сервер строят граф кода через Tree-sitter, чтобы агент при ревью читал только нужные функции и тратил меньше токенов

CLIРасширенный доступ76Звезды репозитория

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
repo-graph — граф кода для навигации агента (эта карточка)нетне нужна50
CodeGraphнетне нужна77 481граф кода без упора на связи между языками и сервисами
Serenaнетне нужна31 335семантические операции через языковые серверы, у repo-graph граф строится движком на Rust

Коротко о README

README объясняет проблему траты контекста на ориентацию, затем показывает демо на проекте с Go и Angular: 75 308 токенов и 4 минуты 36 секунд без графа против 29 838 токенов и около 30 секунд с ним. Дальше таблица языков, установка по клиентам, справочник инструментов, принцип работы, формат данных и политика конфиденциальности.

Бейдж для README

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