Token导航 LogoToken导航TokenDH.com
cplusplus MCP logo
开发工具stdio官方级别未说明来源级核验

cplusplus MCP

MCP Server

一个基于libclang的C++代码分析服务器,提供语义理解、类/函数搜索、继承层次和调用图分析等功能,帮助开发者高效导航大型代码库。

工具数

0

提示词数

0

GitHub Stars

29

资源数

0
代码导航PythonClaude代码搜索Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kandrwmrtn

提供方

kandrwmrtn

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python scripts\test_installation.py

详细介绍

C++MCP服务器

用于使用libclang分析C++代码库的MCP(模型上下文协议)服务器。

为什么使用这个?

这个服务器提供了对代码的语义理解,而不是让Claude grep通过你的C++代码库来理解结构。Claude可以立即找到类、函数及其关系,而不会迷失在数千个文件中。它理解C++语法、继承层次结构和调用图,使Claude能够像IDE一样浏览你的代码库。

特性

上下文高效的C++代码分析:

  • 搜索类 -按名称模式查找类
  • 搜索功能 -按名称模式查找函数
  • 获取密码信息 -获取详细的类信息(方法、成员、继承)
  • get_function_签名 -获取函数签名和参数
  • find_in_file -在特定文件中搜索符号
  • get_class_hierchy -获取类的完整继承层次结构
  • get_drived_classes -查找从基类继承的所有类
  • find_callers -查找调用特定函数的所有函数
  • find_calles -查找特定函数调用的所有函数
  • get_call_path -查找从一个函数到另一个函数的调用路径

先决条件

  • Python 3.9或更高版本
  • pip(Python包管理器)
  • Git(用于克隆存储库)
  • LLVM的libclang(安装脚本将尝试下载可移植的构建)

设置

  1. 克隆存储库:
git clone 
cd CPlusPlus-MCP-Server
  1. 为您的平台运行安装脚本(这将创建一个虚拟环境,安装依赖项,并在可能的情况下获取libclang):

- 视窗

     server_setup.bat

- Linux/macOS

     ./server_setup.sh
  1. 测试安装(推荐):
# Activate the virtual environment first
mcp_env\Scripts\activate

# Run the installation test
python scripts\test_installation.py

这将验证所有组件是否正确安装和工作。测试脚本位于 scripts/test_installation.py.

配置Claude代码

要将此MCP服务器与Claude代码一起使用,您需要将其添加到Claude配置文件中。

  1. 查找并打开您的Claude配置文件。常见位置包括:
   C:\Users\\.claude.json
   C:\Users\\AppData\Roaming\Claude\.claude.json
   %APPDATA%\Claude\.claude.json

确切位置可能因您的Claude安装而异。

  1. 将C++MCP服务器添加到 mcpServers 章节:
   {
     "mcpServers": {
       "cpp-analyzer": {
         "command": "python",
         "args": [
           "-m",
           "mcp_server.cpp_mcp_server"
         ],
         "cwd": "YOUR_INSTALLATION_PATH_HERE",
         "env": {
           "PYTHONPATH": "YOUR_INSTALLATION_PATH_HERE"
         }
       }
     }
   }

重要: 替换 YOUR_INSTALLATION_PATH_HERE 使用克隆此存储库的实际路径。

  1. 重新启动Claude Desktop以使更改生效。

配置Codex CLI

要在OpenAI Codex CLI中使用此MCP服务器:

  1. 确保已创建虚拟环境(请参阅上面的设置)。
  1. 创建一个 .mcp.json 使用Codex打开的项目中的文件。CLI读取此文件以发现MCP服务器。
  1. 在虚拟环境中添加一个指向Python模块的条目。替换 YOUR_REPO_PATH 以及此存储库的绝对路径。
   {
     "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"
         }
       }
     }
   }

Windows更改 commandYOUR_REPO_PATH\\mcp_env\\Scripts\\python.exe.

  1. 重新启动Codex CLI(或运行 codex reload)因此,它采用了新的服务器定义。
  1. 在Codex中,使用MCP调色板或提示指令(例如,“使用cpp分析器工具将项目目录设置为…”)开始为C++项目建立索引。

如果你保持 .mcp.json 您还可以在此存储库中添加一个文件 "cwd": "YOUR_REPO_PATH" 这样Codex就可以从正确的目录启动服务器。

与Claude一起使用

配置后,您可以在与Claude的对话中使用C++分析器:

  1. 首先,让Claude使用MCP工具设置您的项目目录:
   "Use the cpp-analyzer tool to set the project directory to C:\path\to\your\cpp\project"

注: 对于非常大的项目,初始索引可能需要很长时间(对于包含数千个文件的代码库,需要几分钟)。服务器将缓存结果,以便更快地进行后续查询。

  1. 然后你可以问这样的问题:

- “查找所有包含‘Actor’的类” - “显示Component类详细信息” - “BeginPlay函数的特征是什么?” - “搜索物理相关函数” - “显示GameObject的继承层次结构” - “查找所有调用Update()的函数” - “Render()调用哪些函数?”

建筑

  • 使用libclang进行精确的C++解析
  • 缓存解析AST以提高性能
  • 支持增量分析和项目范围内的搜索
  • 提供详细的符号信息,包括:

- 带有参数类型和名称的函数签名 - 类成员、方法和继承 - 用于理解代码流的调用图分析 - 文件位置便于导航

配置选项

服务器行为可以通过以下方式配置 cpp-analyzer-config.json:

{
  "exclude_directories": [".git", ".svn", "node_modules", "build", "Build"],
  "exclude_patterns": ["*.generated.h", "*.generated.cpp", "*_test.cpp"],
  "dependency_directories": ["vcpkg_installed", "third_party", "external"],
  "include_dependencies": true,
  "max_file_size_mb": 10
}
  • 排除目录:项目扫描期间要跳过的目录
  • exclude_patters:要从分析中排除的文件模式
  • 依赖目录:包含第三方依赖关系的目录
  • include_依赖关系:是否分析依赖目录中的文件
  • max_file_size_mb:要分析的最大文件大小(跳过较大的文件)

故障排除

常见问题

  1. “未找到libclang”错误

- 跑 server_setup.bat (Windows)或 ./server_setup.sh (Linux/macOS)让项目自动下载libclang - 如果自动下载失败,请手动下载libclang: 1. 首选https://github.com/llvm/llvm-project/releases 1. 下载适合您系统的文件: - 视窗: clang+llvm-*-x86_64-pc-windows-msvc.tar.xz - macOS: clang+llvm-*-x86_64-apple-darwin.tar.xz - Linux: clang+llvm-*-x86_64-linux-gnu-ubuntu-*.tar.xz 1. 提取libclang库并将其复制到适当的位置: - 视窗:复制 bin\libclang.dlllib\windows\libclang.dll - macOS:复制 lib\libclang.dyliblib\macos\libclang.dylib - Linux:复制 lib\libclang.so.*lib\linux\libclang.so

  1. 服务器无法启动

- 检查是否安装了Python 3.9+: python --version - 验证是否安装了所有依赖项: pip install -r requirements.txt - 运行安装测试以识别问题:

     mcp_env\Scripts\activate
     python -m mcp_server.test_installation
  1. 克劳德无法识别服务器

- 确保路径 .claude.json 是绝对路径 - 修改配置后重新启动Claude Desktop

  1. Claude使用grep/glob而不是C++分析器

- 在提示中明确:询问C++代码时,说“使用cpp分析器…” - 为您的项目添加说明 CLAUDE.md 告诉Claude在C++符号搜索中更喜欢cpp分析器的文件 - cpp分析器在查找类、函数和理解代码结构方面比grep快得多

目录标签

目录标签

代码导航PythonClaude代码搜索C++分析本地部署语义理解IDE功能

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP