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

Clangd MCP Server

MCP Server

为大型C++代码库提供基于Model Context Protocol的代码导航服务,支持定义查找、引用搜索、符号查询等功能。

工具数

0

提示词数

0

GitHub Stars

32

资源数

0
代码导航开发工具TypeScriptClaudeClaude

安装说明

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

作者 / 组织

felipeerias

提供方

felipeerias

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

MCP 服务器

模型上下文协议 用于大型C++代码库上cland的服务器。

此MCP为Claude Code等编码代理提供了一系列工具,可用于回答用户的自然语言查询:

  • find_definition:跳转到符号定义

- _“在src/foo.cpp:42:10处找到定义”_

  • find_references:查找对符号的所有引用

- _“在bar.h:100中查找该函数的所有引用”_

  • get_hover:获取类型信息和文档

- _“巴扎是什么类型的?cpp:200:15?”_

  • workspace_symbol_search:在工作区中搜索符号

- _“查找与‘HttpRequest’匹配的符号”_

  • find_implementations:查找接口/虚拟方法实现

- _“查找interface.h:50的实现”_

  • get_document_symbols:获取文件的分层符号树

- _“显示main.cpp中的所有符号”_

  • get_diagnostics:获取编译器错误、警告和注释

- _“显示src/foo.cpp中的错误”_

  • get_call_hierarchy:获取函数调用者和被调用者

- _“在main.cpp:100:5上显示呼叫者/被呼叫者”_

  • get_type_hierarchy:获取基类和派生类

- _“在foo.h:42处显示基类/派生类”_

需求

  • Node.js>=18.0.0
  • clangd 的
  • 一个C++项目 compile_commands.json

安装

# From npm (eventually!)
# npm install -g clangd-mcp-server

# From source
git clone https://github.com/felipeerias/clangd-mcp-server.git
cd clangd-mcp-server
npm install && npm run build && npm link

配置

正在生成compile_commons.json

CMake: cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON /path/to/source

GN(铬): gn gen out/Default

gn gen --export-compile-commands out/default
ln -sf out/Default/compile_commands.json .
claude mcp add clangd-mcp-server clangd-mcp-server

其他: 检查项目的文档。

Claude代码配置

claude mcp add clangd-mcp-server clangd-mcp-server

或手动添加到 ~/.claude.json.claude.json:

{
  "mcpServers": {
    "clangd": {
      "command": "clangd-mcp-server",
      "env": {"PROJECT_ROOT": "/path/to/your/project"},
      "alwaysAllow": ["*"]
    }
  }
}

alwaysAllow: ["*"] 字段允许所有工具在不提示用户批准的情况下运行。

项目特定配置(CLAUDE.md)

为了帮助Claude Code自动为您的C++项目使用cland-MCP工具,请添加到您的项目 CLAUDE.md:

## C++ Code Navigation

This project uses the clangd MCP server for C++ code intelligence. Use these tools for:
- Finding definitions and references
- Getting type information
- Searching symbols
- Finding implementations
- Getting diagnostics

环境变量

变量描述默认值
PROJECT_ROOT项目工作区根目录当前目录
COMPILE_COMMANDS_DIRcompile_commands.json目录的路径自动检测到
CLANGD_PATHcland二进制文件的路径自动检测到
CLANGD_ARGS其他cland参数自动配置
LOG_LEVELMCP日志级别(错误/警告/信息/调试)INFO
CLANGD_LOG_LEVELClangd日志级别error

Clangd自动检测顺序: CLANGD_PATH → 项目捆绑(Chromium: third_party/llvm-build/.../clangd) → 系统路径

一些大型项目将自己的cland捆绑在一起。

在以下位置自动检测 third_party/llvm-build/Release+Asserts/bin/clangd.

对于其他类似情况的项目,设置 CLANGD_PATH 指定捆绑的cland。

为了提高性能,默认情况下禁用后台索引。通常已经有一个轴 clangd 服务器负责对代码库进行索引。您可以通过以下方式启用它:

{"env": {"CLANGD_ARGS": "--background-index --limit-results=1000"}}

大型项目可能会考虑使用 远程索引.

详细日志记录可以通过以下方式启用:

{"env": {"LOG_LEVEL": "DEBUG", "CLANGD_LOG_LEVEL": "verbose"}}

示例:

// Chromium (auto-detects bundled clangd)
{"mcpServers": {"clangd": {"command": "clangd-mcp-server",
  "env": {"PROJECT_ROOT": "/home/user/chromium/src"},
  "alwaysAllow": ["*"]}}}

// Custom clangd binary
{"mcpServers": {"clangd": {"command": "clangd-mcp-server",
  "env": {"CLANGD_PATH": "/custom/path/clangd"},
  "alwaysAllow": ["*"]}}}

// Custom args (e.g., enable background indexing)
{"mcpServers": {"clangd": {"command": "clangd-mcp-server",
  "env": {"CLANGD_ARGS": "--background-index --limit-results=1000"},
  "alwaysAllow": ["*"]}}}

建筑

Claude Code
    ↓ MCP (stdio)
clangd-mcp-server
    ├── ClangdManager (lifecycle, health monitoring)
    ├── LSPClient (JSON-RPC over stdio)
    ├── FileTracker (didOpen/didClose)
    └── Tools (find_definition, find_references, etc.)
        ↓ LSP requests
    clangd subprocess

发展

npm install        # Install
npm run build      # Build
npm run watch      # Watch mode
npm test           # Run tests
node dist/index.js # Test locally

许可证

MPL-2.0-参见 许可证

参考文献

目录标签

目录标签

代码导航开发工具TypeScriptClaude本地部署C++开发LSP协议IDE增强

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP