Arbor — граф кода для агентов и MCP-сервер

Arbor

Строит граф вызовов и зависимостей по коду и отвечает агенту, кто вызывает функцию и что сломается после правки

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

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

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

  • Arbor читает весь код проекта и пишет граф в каталог индекса; хук Claude Code меняет настройки агента
  • Скрипт установки запускается через curl и bash: стоит прочитать его заранее
Все причины и проверки

anandb71/arbor

Установка

Ручная установка

cargo install arbor-graph-cli && arbor setup

Установка и индексация проекта; затем подключение сервера.

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

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

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

  • Arbor читает весь код проекта и пишет граф в каталог индекса; хук Claude Code меняет настройки агента
  • Скрипт установки запускается через curl и bash: стоит прочитать его заранее

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

Что делает

Arbor разбирает проект и строит семантический граф: функции, классы и модули становятся узлами, вызовы, импорты и наследование ребрами. По нему агент получает детерминированные ответы без догадок по тексту: кто вызывает символ напрямую и через цепочку, какой путь между двумя точками, насколько велик радиус поражения правки с глубиной, достоверностью и уровнем опасности. У ребер есть оценка уверенности, а неоднозначные связи помечены, а не спрятаны. Сервер запускается командой `arbor bridge` по stdio, а для удаленных схем есть HTTP-режим. Инструментов 17: `get_map` (скелет проекта, ранжированный по PageRank, вызывается первым), поиск символов и вызывающих, `get_blast_radius`, `explain_symbol`, `audit_security`, `batch_query` и `find_api_usages`. Тот же граф доступен из CLI: `arbor map`, `arbor refactor`, `arbor diff`. Отдельная команда `arbor retirements` ищет в Python-коде вызовы SDK OpenAI, Anthropic и Google со снятыми моделями. Команда `arbor hook claude` добавляет Claude Code отчет после каждого хода: что изменено, что затронуто без просьбы и что проверить.

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

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

  • Вы меняете функцию и хотите заранее увидеть, что от нее зависит
  • Агент не знает проект: нужна карта кода на тысячу токенов вместо чтения десятков файлов
  • В CI нужны пороги по радиусу поражения, чтобы блокировать слишком опасные запросы на слияние
  • Перед отключением старых моделей надо найти вызовы SDK, которые перестанут работать

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

  • Вам нужен поиск по смыслу текста и документации: граф строится по структуре кода и эмбеддингов не использует
  • Проект на языке с запасным разбором (Kotlin, Swift, Ruby, PHP, Shell): связи там менее надежны
  • Нужна проверка безопасности как у настоящего сканера: audit_security дает ориентир, но не заменяет его

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

Покажи радиус поражения, если я изменю parse_file: кто вызывает эту функцию и какие тесты стоит прогнать.

MCP

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

Ограничения

Полные разборщики есть для Rust, TypeScript и JavaScript, Python, Go, Java, C и C++, C# и Dart, для остальных языков запасной разбор. После обновления сохраненный граф один раз перестраивается. Скрипт установки запускается через curl и bash, а на crates.io релиз может отставать, поэтому в README есть закрепленные установки.

Команда `arbor setup` индексирует проект, `arbor hook claude` меняет настройки Claude Code, а в `~/.arbor` лежит глобальная конфигурация. Данные retirements сверены с провайдерами 28 октября 2026 года и устаревают вместе с их страницами. Часть разбора ограничена видимостью: вызов функции другого файла засчитывается, только если вызывающий файл ее видит.

Как отключить. Удалите запись arbor из конфигурации клиента (`claude mcp remove arbor`), уберите хук Claude Code и при желании саму программу вместе с каталогом ~/.arbor.

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

Чем Arbor отличается от поиска по эмбеддингам?

Arbor строит граф из вызовов, импортов и наследования, и ответы на вопросы о вызывающих и радиусе правки получаются детерминированными. Эмбеддинги ищут похожий текст, но не знают, кто кого вызывает.

Как подключить Arbor к Claude Code?

После установки и `arbor setup` выполните `claude mcp add --transport stdio --scope project arbor -- arbor bridge`. Агенту советуют вызывать `get_map` первым, затем искать символы и читать только нужный файл.

Можно ли использовать Arbor как проверку в CI?

Да. В README описан CI-шлюз по порогам радиуса поражения, а в корне репозитория лежит action.yml. Команда `arbor diff --base origin/main` показывает влияние ветки так, как его увидит запрос на слияние.

Какие языки разбирает Arbor?

Полноценные разборщики есть для Rust, TypeScript и JavaScript, Python, Go, Java, C и C++, C# и Dart. Для Kotlin, Swift, Ruby, PHP и Shell работает запасной разбор попроще. Поиск вызывающих не смешивает языки: TypeScript-функция не будет вызывающей для одноименной на Rust.

Что делает команда arbor retirements?

Она ищет в Python-коде прямые вызовы SDK OpenAI, Anthropic и Google с моделями, которые сняты или скоро будут сняты, и говорит, что нужно поменять. В README для датированных снимков gpt-4o и gpt-4.1 указана дата отключения 14 января 2027 года.

Обсуждение

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

MCP-серверы

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

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

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

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

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

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

CodeGraph на Rust

codegraph-rust

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

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

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

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Arbor — граф кода для агентов и MCP-сервер (эта карточка)нетне нужна162
code-review-graphнетне нужна32 733граф кода для обзора изменений
gographнетне нужна231граф зависимостей для проектов на Go

Коротко о README

README открывается обещанием «контекст кода для людей и агентов», затем объясняет граф, показывает короткий старт, список из 17 инструментов MCP, режимы CLI и установку для Linux, macOS, Windows, через npx и Docker. Отдельно разобраны выпуск 3.1.1 и поддерживаемые языки.

Бейдж для README

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