ABCoder MCP

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

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

Широкий доступ

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

  • Автонастройка перезаписывает глобальную конфигурацию Claude Code; ручной способ подключения описан в разделе установки
  • Парсеры при разборе пытаются автоматически установить зависимости и языковые серверы
  • Сервер читает исходники проекта и сторонних библиотек, которые вы передадите на разбор
Все причины и проверки

cloudwego/abcoder

Установка

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

go install github.com/cloudwego/abcoder@latest

Для сборки нужен Go 1.23.4 или новее.

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

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

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Автонастройка перезаписывает глобальную конфигурацию Claude Code; ручной способ подключения описан в разделе установки
  • Парсеры при разборе пытаются автоматически установить зависимости и языковые серверы
  • Сервер читает исходники проекта и сторонних библиотек, которые вы передадите на разбор

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

Что делает

ABCoder открывает агенту структуру исходного кода через локальный MCP-сервер. Сначала программа разбирает репозиторий в UniAST, общее представление синтаксического дерева, и сохраняет его в JSON. Сервер читает каталог с этими файлами и отвечает на запросы о коде. Агент начинает со списка репозиториев, выбирает пакет и файл, затем запрашивает конкретный узел с зависимостями и ссылками. Такой порядок позволяет получить контекст отдельной функции, не читая подряд весь проект. В тот же каталог можно добавлять деревья сторонних библиотек. Для глубокого разбора доступны Go, Rust, C, Python, JS/TS и Java. Обратная генерация кода из UniAST пока есть только для Go. Формат дерева и парсеры можно использовать при разработке собственных инструментов для агентов.

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

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

  • Нужно, чтобы агент в большом репозитории находил функции, их зависимости и ссылки по дереву, без перебора файлов
  • Нужен локальный индекс репозитория, а передачу найденных фрагментов модели вы контролируете через настройки агента
  • Перед изменением общей функции нужно выяснить, какие части проекта от нее зависят
  • Нужно разобрать сторонние библиотеки вместе с кодом проекта и читать их узлы тем же инструментом
  • Нужен разбор кода в UniAST через `parse` для своего решения в области ИИ-программирования

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

  • Язык проекта вне списка: поддерживаются Go, Rust, C, Python, JS/TS и Java
  • Нужна запись кода обратно: генератор из UniAST в код пока работает только для Go
  • Нужна быстрая установка без Go: бинарник собирается командой `go install`
  • Задача небольшая, и агенту хватит чтения нескольких файлов

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

Через ABCoder найди функцию проверки авторизации и покажи ее зависимости и места использования перед правкой.

MCP

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

Ограничения

Для сборки нужен Go 1.23.4 или новее. Парсеры могут автоматически устанавливать зависимости и языковые серверы. Разбор и хранение деревьев происходят локально, но ответы MCP получает выбранный агент: фрагменты кода могут попасть к его провайдеру. Отдельный экспериментальный режим агента требует настройки API модели.

Автонастройку `abcoder init-spec` лучше пропустить: по исходному коду она перезаписывает глобальный файл `~/.claude.json` и может удалить остальные настройки, включая поля других серверов. Используйте ручное подключение из раздела установки.

Как отключить. Удалите только запись `abcoder` из конфигурации MCP-клиента. Файлы деревьев останутся в выбранном при разборе каталоге; их можно убрать отдельно. При стандартной настройке Go бинарник ABCoder лежит в подкаталоге `bin` по пути, который выводит команда `go env GOPATH`.

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

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

Сначала установите CLI и разберите репозиторий. Затем добавьте в настройки MCP запись с командой `abcoder` и аргументами `mcp` и путем к каталогу деревьев. Готовый JSON приведен в разделе установки; его нужно объединить с вашей конфигурацией.

Нужно ли повторять разбор после изменения кода?

Да. MCP читает сохраненный снимок дерева. Чтобы агент увидел изменения исходников, заново выполните разбор нужного репозитория и обновите JSON в каталоге сервера.

Какие языки поддерживаются?

Разбор доступен для Go, Rust, C, Python, JS/TS и Java. Обратная запись из дерева в код работает для Go, для остальных языков она в планах.

Уходит ли код в облако?

Не обязательно: для индекса не нужен отдельный облачный сервис ABCoder. Но клиент передает найденные узлы в контекст модели, так что полностью локальная работа зависит от выбранных модели и клиента.

Какие инструменты MCP видит агент?

Пять инструментов, которые идут по цепочке: `list_repos`, `get_repo_structure`, `get_package_structure`, `get_file_structure` и `get_ast_node`. Каждый следующий шаг уточняет предыдущий: от списка репозиториев к зависимостям и ссылкам конкретного узла.

Обсуждение

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

MCP-серверы
Официальный

MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов

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

Агент для программирования на Rust с графическим окном, терминалом, режимом ACP для Zed и MCP-сервером

CLIШирокий доступ189Звезды репозитория

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

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

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

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

Локальный индекс кодовой базы для агентов: гибридный поиск, графы зависимостей и анализ последствий изменений

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

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

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
ABCoder (эта карточка)нетне нужна389
Codannaнетне нужна761локальный MCP-сервер и CLI с семантическим поиском и графами вызовов, без собственной спецификации дерева
Serenaнетне нужна31 335дает агенту возможности IDE через языковые серверы по ходу работы, без предварительного разбора
CodeGraphнетне нужна77 481локальный граф кода с точками входа и оценкой влияния правок, без слэш-команд для проектирования

Коротко о README

Проект CloudWeGo распространяется по лицензии Apache 2.0. Помимо сервера, в репозитории есть инструкции для планирования задач в Claude Code и отдельный экспериментальный режим агента.

Бейдж для README

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