Skip to main content
Glama

clangd-mcp

Experimental — expect rough edges and breaking changes.

A minimal Model Context Protocol server that bridges AI assistants to clangd for C/C++ code intelligence.

How it works

Claude / Gemini  ←─ MCP (stdio) ─→  server.py  ←─ LSP (stdio) ─→  clangd

server.py speaks MCP to the AI client and LSP (JSON-RPC 2.0 over stdin/stdout) to clangd. The two protocols are bridged by nine tools:

Tool

LSP call(s)

Description

find_symbol

workspace/symbol

Search symbols by name (fuzzy)

get_definition

workspace/symboltextDocument/definition

Show the definition site with source

find_references

workspace/symboltextDocument/references

List every usage, grouped by file

get_type_info

workspace/symboltextDocument/hover

Show type signature and doc comment

find_implementations

workspace/symboltextDocument/implementation

Find concrete implementations of a virtual method or interface

get_callers

workspace/symbolprepareCallHierarchyincomingCalls

Find every call site that calls a function

get_callees

workspace/symbolprepareCallHierarchyoutgoingCalls

Find every function called by a function

list_file_symbols

textDocument/documentSymbol

List all symbols defined in a file

get_type_hierarchy

workspace/symbolprepareTypeHierarchysupertypes + subtypes

Show base classes and derived classes

Related MCP server: fw-context-mcp

Requirements

  • Python ≥ 3.12

  • uv

  • clangd on $PATH (or specify --clangd)

  • A compile_commands.json for your project (CMake: cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON)

Installation

uv tool install git+https://github.com/schuay/clangd-mcp.git

This installs a clangd-mcp command into an isolated environment and puts a shim on your $PATH. Upgrade later with:

uv tool upgrade clangd-mcp

Gemini CLI

curl -fsSL https://raw.githubusercontent.com/schuay/clangd-mcp/main/install-gemini.sh | bash

This installs the tool, prompts for project paths, and adds the server to ~/.gemini/settings.json. Requires jq.

Or add manually to ~/.gemini/settings.json:

{
  "mcpServers": {
    "clangd": {
      "command": "clangd-mcp",
      "args": [
        "--compile-commands-dir", "/path/to/your/build",
        "--workspace-dir", "/path/to/your/project",
        "--seed-file", "/path/to/your/project/src/main.cpp"
      ]
    }
  }
}

Options

All flags are optional:

Flag

Default

Description

--clangd

clangd

Path to the clangd binary

--compile-commands-dir

(none)

Directory containing compile_commands.json

--workspace-dir

current directory

Root of the C/C++ project

--seed-file

(none)

Source file to open at startup to trigger background indexing

--log-level

WARNING

DEBUG / INFO / WARNING / ERROR (to stderr)

Tests

uv run python tests.py
# or with pytest for coloured output:
uv run pytest tests.py -v

The test suite runs without a real clangd binary — it drives the LSP client with canned in-process responses and patches the global lsp object when testing the MCP tool handlers.

File structure

server.py        MCP server: tools, arg parsing, clangd lifecycle
lsp_client.py  LSP client: subprocess management, JSON-RPC framing, queries
tests.py       Unit tests (no clangd required)
pyproject.toml Dependencies (mcp>=1.0)
F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Provides fast C++ code intelligence for LLMs by combining Tree-sitter parsing with clangd LSP for efficient symbol lookup, navigation, and hierarchy analysis. It optionally integrates Google Gemini AI to deliver deeper architectural insights and automated documentation summaries.
    Last updated
    23
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Exposes tools for AI assistants to query a persistent SQLite+FTS5 index of C/C++ symbols parsed from real build commands, enabling sub-millisecond lookup, full-text search, and natural-language explanation without hallucination.
    Last updated
    33
    6
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides GDB and clangd-based tools for debugging C++ programs, enabling step execution, variable inspection, diagnostics, and combined runtime-static analysis.
    Last updated
    27
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/schuay/clangd-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server