Обзор крупного обновления @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:

  1. "Какие сущности есть в моей кодовой базе?"

  2. "Найди код, похожий на эту функцию"

  3. "Проанализируй влияние изменения этого класса"

  4. "Предложи рефакторинг для этого файла"

Для нескольких проектов:

  1. "Проанализируй структуру кодовой базы frontend-app"

  2. "Найди функции аутентификации в backend-api"

  3. "Сравни управление пользователями во всех проектах"

Заключение

С последними обновлениями @er77/code-graph-rag-mcp превратился в незаменимый инструмент для разработчиков, работающих со сложными и многоязычными проектами. Он дает LLM "архитектурное зрение", позволяя ей стать настоящим цифровым ассистентом, который понимает не только синтаксис, но и семантику вашего кода. Это открывает новые горизонты для автоматизации, анализа и рефакторинга.

Попробуйте сами и дайте вашей LLM суперсилу — знание вашего кода.

Ссылки: