Обзор крупного обновления @er77/code-graph-rag-mcp — теперь с поддержкой C++, Rust, Go, Java и производительностью x5.5.

Привет, Хабр!
Примерно месяц назад я рассказывал о проекте @er77/code-graph-rag-mcp
— инструменте, который превращает LLM из простого генератора кода в полноценного члена команды с глубоким пониманием архитектуры вашего проекта. Сегодня я рад представить самое крупное обновление, которое выводит анализ кода на совершенно новый уровень. Мы не просто добавили новые функции, мы кардинально расширили возможности инструмента, увеличили его производительность и добавили поддержку десяти языков программирования.
Что нового: от универсала к полиглоту с турбонаддувом
Главное изменение — это, без сомнения, расширение поддержки языков до десяти. Теперь, помимо глубокого анализа Python и TypeScript/JavaScript, инструмент полноценно работает с C/C++, C#, Rust, Go, Java и даже VBA. Это превращает @er77/code-graph-rag-mcp
в настоящий мульти-языковой аналитический центр.
Но и это еще не все. Производительность была и остается нашим главным приоритетом. Свежие тесты показывают, что новая версия работает в 5.5 раз быстрее, чем нативные инструменты Claude, при этом потребляя всего около 65 МБ памяти.
Метрика |
Нативные инструменты Claude |
MCP CodeGraph |
Улучшение |
---|---|---|---|
Время выполнения |
55.84 с |
<10 с |
в 5.5 раз быстрее |
Использование памяти |
Зависит от процесса |
65 МБ |
Оптимизировано |
Функциональность |
Базовые шаблоны |
13+ инструментов |
Комплексный анализ |
Точность |
На основе шаблонов |
Семантическая |
Превосходная |
Ключевые возможности: более 13 инструментов для глубокого анализа
Новая версия включает в себя более 13 продвинутых инструментов, которые позволяют:
Семантический поиск: Задавайте вопросы о коде на естественном языке, например, «Найди все функции аутентификации».
Анализ схожести кода: Обнаруживайте дубликаты и клоны для выявления возможностей рефакторинга.
Анализ влияния изменений: Оценивайте потенциальные риски перед внесением правок в код.
Рефакторинг с помощью ИИ: Получайте интеллектуальные предложения по улучшению качества кода.
Анализ "горячих" точек: Находите проблемные зоны, используя метрики сложности и связанности.
Межъязыковые связи: Отслеживайте зависимости между компонентами в полиглотных проектах.
Диагностика графа: Используйте инструменты
get_graph_health
,reset_graph
иclean_index
для поддержания актуальности и целостности данных.
Архитектура высокой производительности
Такая скорость и эффективность достигаются за счет продуманной архитектуры:
Скорость парсинга: Более 100 файлов в секунду благодаря использованию Tree-sitter.
Время отклика: Менее 100 мс на запросы благодаря оптимизированному SQLite и векторному поиску.
Многоагентная система: Координированное выполнение задач с управлением ресурсами.
Векторный поиск: Опциональная поддержка аппаратного ускорения.
Анализ AST: Точное извлечение фрагментов кода с семантическим контекстом.
Глубокая поддержка языков: от C++ до VBA
Давайте подробнее рассмотрим, что именно мы поддерживаем в новых языках:
Язык |
Уровень поддержки |
Ключевые особенности |
---|---|---|
Python |
✅ Продвинутый (95%) |
Async/await, декораторы, более 40 магических методов, dataclasses. |
TypeScript/JS |
✅ Полный (100%) |
ES6+, JSX, TSX, паттерны React. |
C/C++ |
✅ Продвинутый (90%) |
Функции, классы, пространства имен, шаблоны, структуры, объединения, перечисления. |
C# |
✅ Продвинутый (90%) |
Классы, интерфейсы, свойства, LINQ, async/await. |
Rust |
✅ Продвинутый (90%) |
Функции, структуры, перечисления, трейты, модули. |
Go |
✅ Продвинутый (90%) |
Пакеты, функции, структуры, интерфейсы, горутины, каналы. |
Java |
✅ Продвинутый (90%) |
Классы, интерфейсы, дженерики, лямбда-выражения, записи (Java 14+). |
VBA |
✅ На основе Regex (80%) |
Модули, процедуры, функции, пользовательские типы. |
Особое внимание было уделено C++, где мы внедрили двухуровневую архитектуру анализа (синтаксический и семантический слои) и предохранители (circuit breakers) для предотвращения перегрузки системы при анализе сложного кода, например, с глубокой рекурсией или сложными шаблонами.
Быстрый старт и интеграция
Начать работу стало еще проще.
Установка:
# Глобальная установка
npm install -g @er77/code-graph-rag-mcp
# Или использование без установки через npx
npx @er77/code-graph-rag-mcp /путь/к/вашему/проекту
Интеграция с Claude Desktop:
# Быстрая настройка (рекомендуется)
claude mcp add-json code-graph-rag ' {
"command": "npx",
"args": ["@er77/code-graph-rag-mcp", "/_work_fodler"],
"env": {
"MCP_TIMEOUT": "80000"
}
}
Мы также добавили вспомогательные скрипты для легкой интеграции с Gemini CLI и Codex CLI.
Примеры использования
С Claude Desktop:
"Какие сущности есть в моей кодовой базе?"
"Найди код, похожий на эту функцию"
"Проанализируй влияние изменения этого класса"
"Предложи рефакторинг для этого файла"
Для нескольких проектов:
"Проанализируй структуру кодовой базы frontend-app"
"Найди функции аутентификации в backend-api"
"Сравни управление пользователями во всех проектах"
Заключение
С последними обновлениями @er77/code-graph-rag-mcp
превратился в незаменимый инструмент для разработчиков, работающих со сложными и многоязычными проектами. Он дает LLM "архитектурное зрение", позволяя ей стать настоящим цифровым ассистентом, который понимает не только синтаксис, но и семантику вашего кода. Это открывает новые горизонты для автоматизации, анализа и рефакторинга.
Попробуйте сами и дайте вашей LLM суперсилу — знание вашего кода.
Ссылки: