C++ Core Guidelines

Enforce consistent C++ style and best practices across your codebase. Analyze naming conventions, memory safety, and const correctness, and get actionable modernization suggestions up to C++23. Accelerate reviews with ready-made prompts and quick access to curated guidelines.

中文 | English

C++ Style Guide MCP Server

Enforce consistent C++ style and best practices across your codebase. Analyze naming conventions, memory safety, and const correctness, and get actionable modernization suggestions up to C++23. Accelerate reviews with ready-made prompts and quick access to curated guidelines.

Tools

ToolDescription
check_namingValidate C++ identifiers (variables, classes, functions, etc.) against naming conventions
check_include_guardVerify header file include guards or #pragma once usage
analyze_memory_safetyDetect memory leaks, dangling pointers, and unsafe memory patterns
suggest_modern_cppGet modernization suggestions targeting C++11 through C++23
check_const_correctnessFind missing const qualifiers on member functions, parameters, and variables

Resources

URIDescription
cpp-style://naming/{category}Naming convention reference (variable, class, function, namespace, …)
cpp-style://best-practices/{topic}Best practice guides (memory, exceptions, templates, concurrency, …)
cpp-style://standard/{version}C++ standard feature docs (cpp11 – cpp23)
cpp-style://examples/{pattern}Design pattern examples (RAII, Pimpl, Factory, Observer, …)

Prompts

PromptDescription
code_reviewCode review template (general / performance / safety / readability / modern)
refactor_suggestionRefactoring guide targeting a specific C++ standard

Usage

Connect via Smithery (recommended)

npx -y @smithery/cli install @SongJiangzhou/cpp_guidelines --client claude

MCP endpoint (HTTP / streamable-http)

https://cpp-style-guide-mcp.fly.dev/mcp

Local installation

git clone https://github.com/SongJiangzhou/cpp_guidelines_mcp.git
cd cpp_guidelines_mcp
uv sync
uv run mcp run cpp_style_server.py

Add to your MCP client config:

{
  "mcpServers": {
    "cpp-style": {
      "command": "uv",
      "args": ["run", "mcp", "run", "cpp_style_server.py"],
      "cwd": "/path/to/cpp_guidelines_mcp"
    }
  }
}

Examples

# Check a variable name
check_naming("myVariable", "variable")

# Analyze memory safety
analyze_memory_safety("void f(int* p) { delete p; p->run(); }")

# Modernize code to C++17
suggest_modern_cpp("for (int i=0; i<v.size(); i++) {...}", "cpp17")

# Check const correctness
check_const_correctness("class Foo { int getValue() { return x; } int x; };")

# Access naming convention docs
Resource: cpp-style://naming/all

# Access memory best practices
Resource: cpp-style://best-practices/memory

Project Structure

cpp_guidelines_mcp/
├── cpp_style_server.py        # MCP server entry point
├── cpp_style/
│   ├── tools/                 # 5 analysis tools
│   ├── resources/             # 4 reference resource categories
│   ├── prompts/               # 2 prompt templates
│   └── data/                  # JSON knowledge base
├── fly.toml                   # Fly.io deployment config
├── Dockerfile                 # Container image
└── smithery.yaml              # Smithery config (local stdio mode)

Tech Stack

License

MIT

Links

Related Servers