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

İlgili Sunucular

NotebookLM Web Importer

Web sayfalarını ve YouTube videolarını tek tıkla NotebookLM'e aktarın. 200.000'den fazla kullanıcı tarafından güveniliyor.

Chrome Eklentisini Yükle