Shashankss1205/CodeGraphContext

MCP-сервер и CLI-инструмент, которые индексируют локальный код в графовую базу данных для предоставления контекста AI-ассистентам.

MCP⭐ 4 213Pythonпоследний релиз: v0.5.7
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Инструмент CodeGraphContext (CGC) — это MCP-сервер и CLI-утилита, которые индексируют локальный код в графовую базу данных для предоставления контекста AI-ассистентам.

Зачем нужен

Инструмент решает проблему недостатка контекста у AI-агентов при работе с большими кодовыми базами, преобразуя репозитории в структурированные графы. Это позволяет AI-инструментам (например, в IDE) выполнять сложные запросы к коду, понимать связи между компонентами и предоставлять более точные ответы на основе естественного языка.

Что можно реализовать

  • Интеграция с AI-IDE через MCP для глубокого понимания структуры проекта и вызовов функций.
  • Использование CLI-тулкита для самостоятельного анализа кода и построения графа знаний без участия AI.
  • Запросы к сложным цепочкам вызовов (call-chains) с использованием естественного языка через MCP-клиент.
  • Локальная индексация кода с поддержкой различных языков программирования для работы в офлайн-режиме.

Ключевые возможности

  • Поддержка протокола MCP (Model Context Protocol) для совместимости с различными AI-клиентами.
  • Использование графовых баз данных для хранения и запроса связей в коде.
  • Гибкая архитектура: возможность работы как в режиме CLI, так и в режиме MCP-сервера.
  • Поддержка нескольких языков программирования через парсинг узлов tree-sitter.
  • Опциональная индексация SCIP (Source Code Indexing Protocol) для расширенного анализа.

👤 Кому подойдёт: разработчики, использующие AI-ассистентов в IDE, и инженеры, желающие улучшить контекстную осведомленность своих AI-агентов над локальным кодом

Релизы

v0.5.7patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлены критические ошибки парсеров (Ruby, C/C++, C#, JS) и запросов, устранившие потерю данных и неверные результаты анализа.

  • Fixed: Устранена потеря данных в парсере Ruby: исправлено определение вложенных классов и параметров методов.
  • Fixed: C/C++ парсер теперь корректно извлекает функции, возвращающие указатели и ссылки, а также операторы.
  • Fixed: C# парсер научился обрабатывать переменные, что восстановило вывод типов для вызовов методов.
  • Fixed: JS парсер корректно обрабатывает деструктуризацию, массивы и rest-параметры в функциях.
  • Fixed: Исправлены ошибки в запросах: статистика репозитория, поиск вызывающих функций и фильтрация по имени.
  • Fixed: Устранены проблемы с индексацией пакетов и некорректным отображением прогресса задач SCIP.
v0.5.6patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлены пустые графики LadybugDB, XSS-уязвимость в визуализаторе и краш Java-тулкита.

  • Fixed: Визуализатор теперь корректно отображает графики LadybugDB на живом сервере, обрабатывая заглавные имена полей.
  • Fixed: Устранена XSS-уязвимость: спецсимволы в именах узлов теперь экранируются, предотвращая поломку HTML-страницы.
  • Fixed: Функция advanced_language_query для Java больше не падает с ошибкой TypeError при инициализации тулкита.
  • Added: Добавлены юнит-тесты для покрытия сценариев ошибок в модуле git_utils.
v0.5.5minor
🕐 1 мес назад · релиз на GitHub ↗

Исправлены критические ошибки парсеров (Python, Go, PHP) и индексации, улучшена безопасность MCP и стабильность работы.

  • Fixed: Исправлена индексация: теперь корректно учитываются файлы без парсеров (README, JSON, Dockerfile), исчезает ложное сообщение о частичном индексе.
  • Fixed: Python-парсер больше не отбрасывает аннотированные параметры (x: int), что увеличивает количество захваченных параметров почти вдвое.
  • Fixed: Восстановлен парсинг групповых импортов в Go и корректных импортов в PHP, исключая ошибки с трейтами и псевдонимами.
  • Fixed: Устранены уязвимости в валидации Cypher и доступе к MCP-эндпоинтам, а также исправлены падения при кодировании и обработке путей.
  • После переиндексации количество узлов и рёбер в графе увеличится из-за исправлений парсеров параметров и модулей.