TGViewer
C++ - Reddit C++ - Reddit @r_cpp · 229 subscribers
Post #24743 15
Claude Code MCP server mcp-cpp-server broken after Claude Code 2.1.28+ update

Hey everyone,

If you use **mcp-cpp-server** (the Rust-based MCP server for C++ code analysis via clangd) with **Claude Code**, it silently breaks after updating Claude Code to 2.1.28+.

`claude mcp list` shows the server as "Failed to connect" with no useful error. After digging through stderr logs, the actual error is:

```

Incompatible protocol version: client: 2025-11-25 server: 2025-06-18

```

**What happened:** Claude Code 2.1.28 switched to MCP protocol version `2025-11-25`, but `mcp-cpp-server` v0.2.2 uses `rust-mcp-sdk` 0.7.4 which only speaks protocol `2025-06-18`. The server starts fine but Claude rejects the handshake.

**The fix:** Upgrade `rust-mcp-sdk` from 0.7 to 0.8 in Cargo.toml, plus a few API changes the new SDK requires:

\- `Implementation` struct needs new fields (`description`, `icons`, `website_url`)

\- `create_server()` now takes a `McpServerOptions` struct instead of positional args

\- `handle_list_tools_request` / `handle_call_tool_request` signatures changed

\- Handler conversion uses `.to_mcp_server_handler()` now

I've submitted **PR #12** upstream: https://github.com/mpsm/mcp-cpp/pull/12

**To use it now** (before the PR merges):

```bash

git clone https://github.com/ninokth/mcp-cpp.git

cd mcp-cpp

git checkout fix/sdk-0.8-upgrade

cargo build --release

cp target/release/mcp-cpp-server \~/.cargo/bin/

```

After that, `claude mcp list` should show `cpp: Connected` and all three tools (`search_symbols`, `analyze_symbol_context`, `get_project_details`) work again.

Hope this helps anyone else who hit this wall.

https://redd.it/1qwg9zy
@r_cpp
GitHub Upgrade rust-mcp-sdk 0.7 → 0.8 for MCP protocol 2025-11-25 by ninokth · Pull Request #12 · mpsm/mcp-cpp Summary Upgrade rust-mcp-sdk from 0.7.4 to 0.8.3 to support MCP protocol version 2025-11-25, required by Claude Code 2.1.28+. Without this fix, Claude Code rejects the connection: Incompatible prot...
More from @r_cpp
  1. Oct 7, 2026Escaping `CreateProcess()` arguments on Windows https://holyblackcat.github.io/blog/2026/0…
  2. Oct 7, 2026flat_map internals https://quantdev.blog/posts/flat-map-internals/index.html https://redd.…
  3. Oct 7, 2026New C++ Conference Videos Released This Month - September 2026 C++Now 2026-08-31 - 2026-09…
  4. Oct 7, 2026Jean Frantz René: C++ Memory safety for safety-critical and non-safety critical applicatio…
  5. Oct 7, 2026Full Meeting C++ 2026 program released https://meetingcpp.com/mcpp/schedule/#2026 https://…
  6. Oct 7, 2026Qt moc now can handle basic C++ modules (Qt 6.12) https://codereview.qt-project.org/c/qt/q…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →