Skip to main content
Glama
GusDawn123

cpp-analysis-mcp

by GusDawn123

cpp-analysis-mcp

Un servidor MCP que permite a los agentes de codificación de IA probar código C++ de verdad, en lugar de solo leerlo.

El problema

Algunos errores de C++ son invisibles en el código fuente. Esto parece correcto:

void deposit(int amt) {
    balance += amt;   // no lock
}

Ejecútalo desde 100 hilos y pierde actualizaciones. El error vive en la sincronización, no en el texto, por lo que una IA que solo lea el archivo lo considerará limpio.

Las herramientas que detectan estos errores ya existen y son excelentes. Son solo programas de línea de comandos a los que ningún asistente de IA está conectado. Este proyecto es esa conexión.

Related MCP server: cpp-semantic-graph

Qué hace

Ocho herramientas, tres preguntas:

Pregunta

Herramientas

Costo

¿Algo parece incorrecto?

static_check_file / _snippet

segundos

¿Está realmente mal?

sanitize_file / _project / _snippet

minutos

¿Dónde es lento?

profile_file / _project

minutos

El agente comienza de forma económica y solo escala cuando es necesario. La octava herramienta, capabilities, informa de lo que esta máquina puede ejecutar realmente.

En el interior: ThreadSanitizer para carreras de datos, AddressSanitizer para corrupción de memoria, LeakSanitizer para fugas, UBSan para comportamiento indefinido, clang-tidy y -Wthread-safety en tiempo de compilación, y perf para perfilado.

Soporte de plataforma

Linux

macOS

Windows

ASan, UBSan, static checks

TSan, LSan

sí, mediante WSL

Profiler (perf)

aún no

sí, mediante WSL

En Windows, el servidor encuentra una distribución WSL por sí mismo y enruta las herramientas exclusivas de Linux a través de ella. Sigues pasando rutas C:\ normales. Cuando algo no puede ejecutarse, el servidor lo dice claramente y nombra el comando que lo solucionaría.

Configuración

Necesitas Python 3.11+, uv y un compilador de C++ (clang o gcc).

git clone https://github.com/GusDawn123/cpp-analysis-mcp
cd cpp-analysis-mcp
uv sync

Luego regístralo con tu agente. Para Claude Code:

claude mcp add cpp-analysis -- uv run --directory <path-to-repo> cpp-analysis-mcp

Para cualquier otro cliente MCP, añade el mismo comando a su archivo de configuración:

{ "mcpServers": { "cpp-analysis": {
    "command": "uv",
    "args": ["run", "--directory", "<path-to-repo>", "cpp-analysis-mcp"]
}}}

La primera puesta en marcha tarda un minuto. El servidor compila y ejecuta un pequeño programa con errores para cada análisis para demostrar que la herramienta realmente funciona en tu máquina, y luego guarda en caché los resultados.

Por qué puedes confiar en un resultado vacío

El servidor nunca se fía de la palabra de una herramienta. Al iniciarse, planta un error real (una carrera de datos, una fuga, un desbordamiento) y exige que cada detector lo detecte. Un detector que permanece en silencio ante un error conocido se informa como no disponible, con el motivo y el comando de instalación que lo soluciona.

Así que un informe vacío significa que un detector que funciona de forma demostrable aquí no ha visto nada. Esa diferencia importa, porque una herramienta rota silenciosamente se ve exactamente igual que un código limpio.

Arquitectura

your AI agent (Claude Code, Cursor, anything that speaks MCP)
        |
    server.py        eight tools, no logic of its own
        |
    pipelines/       the recipes: check, sanitize, profile
        |
   +----------+-------------+
   |          |             |
 build/    process.py    parsers/
 compiles  runs tools    raw tool output in,
 the code  safely, with  clean findings out
   |       timeouts
   |
   +-- platforms/    what Linux, macOS, and Windows each need
   +-- toolchains/   what clang and gcc each need
   +-- wsl.py        Windows borrowing Linux for what it lacks

Las reglas de capas se aplican mediante pruebas que analizan el árbol de fuentes, por lo que no pueden degradarse: server.py no contiene flujo de control, solo process.py puede lanzar un subproceso, los analizadores nunca tocan un archivo, y exactamente un módulo puede preguntar qué máquina es esta.

Pruebas

507 pruebas unitarias se ejecutan en cualquier lugar, sin necesidad de compilador. Las pruebas de integración compilan y ejecutan fixtures con errores plantados, y las salidas golden capturadas en Linux, macOS y Windows mantienen honestos a todos los analizadores.

make test

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that exposes LLDB debugging capabilities, enabling AI-assisted interactive debugging of C/C++ applications through 40 specialized tools.
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Builds a semantic knowledge graph of C++ code and exposes 9 MCP tools for AI assistants to search classes, functions, inheritance, callers, callees, overrides, and more.
    3

View all related MCP servers

Related MCP Connectors

  • Voice-powered bug reporting with 13 MCP tools. Record bugs by talking; let AI find and fix them.

  • Package intelligence MCP for AI agents — 22 tools, 19 ecosystems, AGPL SDK, free.

  • Persistent memory and cross-session learning for AI coding assistants (hosted 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/GusDawn123/cpp-analysis-mcp'

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