Skip to main content
Glama

C++ Style Guide MCP Server

专业的 C++ 编码规范检查和最佳实践建议工具,基于 MCP (Model Context Protocol) 协议构建。

功能特性

5 个代码分析工具

  • check_naming - 检查命名规范(变量、函数、类等)

  • check_include_guard - 验证头文件包含保护

  • analyze_memory_safety - 检测内存泄漏和悬空指针

  • suggest_modern_cpp - 现代 C++ 升级建议 (C++11/14/17/20/23)

  • check_const_correctness - 检查 const 正确性

4 类规范文档资源

  • cpp-style://naming/{category} - 命名规范

  • cpp-style://best-practices/{topic} - 最佳实践

  • cpp-style://standard/{version} - C++ 标准特性

  • cpp-style://examples/{pattern} - 设计模式示例

2 个代码审查提示模板

  • code_review - 综合/性能/安全/可读性审查

  • refactor_suggestion - 重构建议

快速开始

通过 Smithery 安装(推荐)

npx -y @smithery/cli install cpp-style-guide-mcp --client claude

本地安装

# 1. 克隆仓库 git clone https://github.com/lv5railgun/cpp_guidelines.git cd cpp_guidelines # 2. 安装依赖 uv sync # 3. 添加到 Claude Desktop 配置 # 在 .mcp.json 或 Claude 配置文件中: { "mcpServers": { "cpp-style": { "command": "uv", "args": ["run", "mcp", "run", "cpp_style_server.py"], "cwd": "/path/to/cpp_guidelines" } } }

使用示例

# 检查命名规范 请使用 check_naming 工具检查 "myVariable" 是否符合成员变量命名规范 # 分析内存安全 请分析以下代码的内存安全问题: void processData(int* ptr) { delete ptr; ptr->process(); // 悬空指针! } # 现代化建议 请使用 suggest_modern_cpp 工具将代码升级到 C++17 # 查看文档 请获取资源 cpp-style://naming/all 请获取资源 cpp-style://best-practices/memory

发布到 Smithery

准备工作

项目已包含所有必需的配置文件:

  • smithery.yaml - Smithery 部署配置

  • Dockerfile - 容器化配置

  • pyproject.toml - 项目元数据

发布步骤

# 1. 提交代码 git add . git commit -m "准备发布到 Smithery" git push origin main # 2. 访问 Smithery 发布页面 # https://smithery.ai/new # 连接 GitHub 仓库,Smithery 会自动检测配置并部署 # 3. 测试安装 npx -y @smithery/cli install cpp-style-guide-mcp --client claude

验证清单

  • 本地测试通过: uv run mcp run cpp_style_server.py

  • GitHub 仓库已推送

  • Smithery 构建成功

  • 可以通过 Smithery CLI 安装

  • 工具调用正常

项目结构

cpp_guidelines/ ├── cpp_style_server.py # MCP 服务器主文件 ├── cpp_style/ # 核心功能模块 │ ├── tools/ # 5个分析工具 │ └── resources/ # 4类规范文档 ├── smithery.yaml # Smithery 配置 ├── Dockerfile # 容器配置 └── pyproject.toml # 项目元数据

开发

# 运行服务器 uv run mcp run cpp_style_server.py # 添加新工具 @mcp.tool() def your_tool(param: str) -> str: """工具描述""" return "result" # 添加新资源 @mcp.resource("cpp-style://category/{param}") def your_resource(param: str) -> str: return "content"

技术栈

  • Python >= 3.12

  • FastMCP >= 1.21.0

  • uv (包管理)

  • Docker (部署)

许可证

MIT License

链接

-
security - not tested
A
license - permissive license
-
quality - not tested

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/SongJiangzhou/cpp_guidelines_mcp'

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