KC

kandrwmrtn/cplusplus_mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

34 stars 6 forks Качество 83 Тренд 26MIT

Сервер MCP (Model Context Protocol) для анализа кодовых баз C++ с использованием libclang.

Обзор

Сервер MCP (Model Context Protocol) для анализа кодовых баз C++ с использованием libclang. Вместо того, чтобы Клод просматривал вашу кодовую базу C++, пытаясь понять структуру, этот сервер обеспечивает семантическое понимание вашего кода. Клод может мгновенно находить классы, функции и их отношения, не теряясь в тысячах файлов. Он понимает синтаксис C++, иерархии наследования и графы вызовов, что дает Клоду возможность перемещаться по вашей кодовой базе, как это делает IDE. Контекстно-эффективный анализ кода C++: - Найти классы по шаблону имен - - Найти функции по шаблону имен - - Получить подробную информацию о классе (методы, члены, наследование) - Получить сигнатуры функций и параметры - Поиск символов в конкретных файлах - Получить полную иерархию наследования для класса - Найти все классы, которые наследуют от базового класса - Найти все функции, которые называют конкретную функцию - Найти все функции, называемые конкретной функцией - Найти пути вызовов от одной функции к...

Обзор (машинный перевод)

Сервер MCP (Model Context Protocol) для анализа кодовых баз C++ с использованием libclang.

Зачем это нужно?

Вместо того, чтобы Клод просматривал вашу кодовую базу C++, пытаясь понять структуру, этот сервер обеспечивает семантическое понимание вашего кода. Клод может мгновенно находить классы, функции и их отношения, не теряясь в тысячах файлов. Он понимает синтаксис C++, иерархии наследования и графы вызовов, что дает Клоду возможность перемещаться по вашей кодовой базе, как это делает IDE.

Особенности

Контекстно-эффективный анализ кода C++:

  • search classs - Найти классы по имени
  • search functions - Найти функции по имени get class info - Получить подробную информацию о классе (методы, члены, наследование) get function signature - Получить подписи и параметры функции find in file - символы поиска в определенных файлах get class hierarchy - Получить полную иерархию наследования для класса get derived classs - Найти все классы, которые наследуют от базового класса Найдите все функции, которые называют конкретной функцией Найти все функции, называемые конкретной функцией

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

C++ MCP Server

An MCP (Model Context Protocol) server for analyzing C++ codebases using libclang.

Why Use This?

Instead of having Claude grep through your C++ codebase trying to understand the structure, this server provides semantic understanding of your code. Claude can instantly find classes, functions, and their relationships without getting lost in thousands of files. It understands C++ syntax, inheritance hierarchies, and call graphs - giving Claude the ability to navigate your codebase like an IDE would.

Features

Context-efficient C++ code analysis:

  • search_classes - Find classes by name pattern
  • search_functions - Find functions by name pattern
  • get_class_info - Get detailed class information (methods, members, inheritance)
  • get_function_signature - Get function signatures and parameters
  • find_in_file - Search symbols within specific files
  • get_class_hierarchy - Get complete inheritance hierarchy for a class
  • get_derived_classes - Find all classes that inherit from a base class
  • find_callers - Find all functions that call a specific function
  • find_callees - Find all functions called by a specific function
  • get_call_path - Find call paths from one function to another

Prerequisites

  • Python 3.9 or higher
  • pip (Python package manager)
  • Git (for cloning the repository)
  • LLVM’s libclang (the setup scripts will attempt to download a portable build)

Setup

  1. Clone the repository:
git clone 
cd CPlusPlus-MCP-Server
  1. Run the setup script for your platform (this creates a virtual environment, installs dependencies, and fetches libclang if possible):

    • Windows
      server_setup.bat
      
    • Linux/macOS
      ./server_setup.sh
      
  2. Test the installation (recommended):

# Activate the virtual environment first
mcp_env\Scripts\activate

# Run the installation test
python scripts\test_installation.py

This will verify that all components are properly installed and working. The test script lives at scripts/test_installation.py.

Configuring Claude Code

To use this MCP server with Claude Code, you need to add it to your Claude configuration file.

  1. Find and open your Claude configuration file. Common locations include:

    C:\Users\\.claude.json
    C:\Users\\AppData\Roaming\Claude\.claude.json
    %APPDATA%\Claude\.claude.json
    

    The exact location may vary depending on your Claude installation.

  2. Add the C++ MCP server to the mcpServers section:

    {
      "mcpServers": {
        "cpp-analyzer": {
          "command": "python",
          "args": [
            "-m",
            "mcp_server.cpp_mcp_server"
          ],
          "cwd": "YOUR_INSTALLATION_PATH_HERE",
          "env": {
            "PYTHONPATH": "YOUR_INSTALLATION_PATH_HERE"
          }
        }
      }
    }
    
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

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

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