ABCoder MCP
Разбирает репозиторий в дерево UniAST и дает агенту MCP-инструменты для поиска функций, зависимостей и ссылок в коде
- 389 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Автонастройка перезаписывает глобальную конфигурацию Claude Code; ручной способ подключения описан в разделе установки
- Парсеры при разборе пытаются автоматически установить зависимости и языковые серверы
- Сервер читает исходники проекта и сторонних библиотек, которые вы передадите на разбор
Установка
- Работает в
Ручная установка
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 с экономией токенов
Агент для программирования на Rust с графическим окном, терминалом, режимом ACP для Zed и MCP-сервером
Локальный MCP-сервер с графом вызовов и поиском символов: агент видит структуру кода и последствия правки заранее.
MCP-сервер, который индексирует код через tree-sitter и отдает агенту отдельные функции и классы вместо целых файлов
Локальный индекс кодовой базы для агентов: гибридный поиск, графы зависимостей и анализ последствий изменений
MCP-сервер, который превращает большую кодовую базу в семантический граф функций для точной навигации и поиска по смыслу
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| ABCoder (эта карточка) | нет | не нужна | 389 | |
| Codanna | нет | не нужна | 761 | локальный MCP-сервер и CLI с семантическим поиском и графами вызовов, без собственной спецификации дерева |
| Serena | нет | не нужна | 31 335 | дает агенту возможности IDE через языковые серверы по ходу работы, без предварительного разбора |
| CodeGraph | нет | не нужна | 77 481 | локальный граф кода с точками входа и оценкой влияния правок, без слэш-команд для проектирования |
Коротко о README
Проект CloudWeGo распространяется по лицензии Apache 2.0. Помимо сервера, в репозитории есть инструкции для планирования задач в Claude Code и отдельный экспериментальный режим агента.