MCP Бесплатно

cplusplus-mcp MCP сервер

Семантический анализ C++ кода с использованием libclang. Позволяет Claude понимать кодовые базы C++ через парсинг AST вместо текстового поиска - находить классы, навигировать по наследованию, отслеживать вызовы функций и исследовать взаимосвязи в коде.

автор: Community

Установка
Копируй и вставляй в терминал
curl -fsSL https://vibebaza.com/i/cplusplus-mcp | bash

Семантический анализ C++ кода с использованием libclang. Позволяет Claude понимать кодовые базы C++ через парсинг AST вместо текстового поиска - находить классы, навигировать по наследованию, отслеживать вызовы функций и исследовать взаимосвязи в коде.

Установка

Из исходного кода

git clone <repository-url>
cd CPlusPlus-MCP-Server
# Windows:
server_setup.bat
# Linux/macOS:
./server_setup.sh

Тестирование установки

mcp_env\Scripts\activate
python scripts\test_installation.py

Конфигурация

Claude Desktop

{
  "mcpServers": {
    "cpp-analyzer": {
      "command": "python",
      "args": [
        "-m",
        "mcp_server.cpp_mcp_server"
      ],
      "cwd": "YOUR_INSTALLATION_PATH_HERE",
      "env": {
        "PYTHONPATH": "YOUR_INSTALLATION_PATH_HERE"
      }
    }
  }
}

Codex CLI

{
  "mcpServers": {
    "cpp-analyzer": {
      "type": "stdio",
      "command": "YOUR_REPO_PATH/mcp_env/bin/python",
      "args": [
        "-m",
        "mcp_server.cpp_mcp_server"
      ],
      "env": {
        "PYTHONPATH": "YOUR_REPO_PATH"
      }
    }
  }
}

Доступные инструменты

Инструмент Описание
search_classes Поиск классов по шаблону имени
search_functions Поиск функций по шаблону имени
get_class_info Получение подробной информации о классе (методы, члены, наследование)
get_function_signature Получение сигнатур функций и параметров
find_in_file Поиск символов в определенных файлах
get_class_hierarchy Получение полной иерархии наследования для класса
get_derived_classes Поиск всех классов, наследующихся от базового класса
find_callers Поиск всех функций, которые вызывают определенную функцию
find_callees Поиск всех функций, вызываемых определенной функцией
get_call_path Поиск путей вызовов от одной функции к другой

Возможности

  • Контекстно-эффективный анализ C++ кода с использованием libclang
  • Семантическое понимание структуры кода против простого текстового поиска
  • Анализ сигнатур функций с типами и именами параметров
  • Анализ членов классов, методов и наследования
  • Полное отображение иерархии наследования
  • Анализ графа вызовов для понимания потока кода
  • Кэширование распарсенного AST для улучшения производительности
  • Поддержка инкрементального анализа и поиска по всему проекту
  • Настраиваемые шаблоны исключения файлов и обработка зависимостей

Переменные окружения

Обязательные

  • PYTHONPATH - Путь к репозиторию для обнаружения Python модулей

Примеры использования

Use the cpp-analyzer tool to set the project directory to C:\path\to\your\cpp\project
Find all classes containing 'Actor'
Show me the Component class details
What's the signature of BeginPlay function?
Search for physics-related functions

Ресурсы

Примечания

Требует Python 3.9+, LLVM's libclang (автоматически загружается скриптами установки), и начальная индексация может занимать несколько минут для больших кодовых баз. Поведение сервера можно настроить через cpp-analyzer-config.json для исключения директорий, шаблонов файлов и обработки зависимостей. Гораздо быстрее чем grep для поиска символов C++ и анализа структуры кода.

Zambulay Спонсор

Карта для оплаты Claude, ChatGPT и других AI