cpp-analysis-mcp
cpp-analysis-mcp
MCP-сервер, который позволяет агентам ИИ, пишущим код, действительно тестировать код на C++, а не просто читать его.
Проблема
Некоторые ошибки в C++ невидимы в исходном коде. Выглядит нормально:
void deposit(int amt) {
balance += amt; // no lock
}Запустите его из 100 потоков — и он потеряет обновления. Ошибка живёт во времени выполнения, а не в тексте, поэтому ИИ, который только читает файл, назовёт его чистым.
Инструменты, которые ловят такие ошибки, уже существуют и отлично работают. Это просто программы командной строки, к которым не подключён ни один ИИ-ассистент. Этот проект и есть то самое подключение.
Related MCP server: cpp-semantic-graph
Что он делает
Восемь инструментов, три вопроса:
Вопрос | Инструменты | Стоимость |
Есть ли что-то подозрительное? | static_check_file / _snippet | секунды |
Действительно ли это ошибка? | sanitize_file / _project / _snippet | минуты |
Где медленно? | profile_file / _project | минуты |
Агент начинает с дешёвых проверок и переходит к более дорогим, только когда это необходимо. Восьмой инструмент, capabilities, сообщает, что реально может запустить эта машина.
Под капотом: ThreadSanitizer — для гонок данных, AddressSanitizer — для повреждения памяти, LeakSanitizer — для утечек, UBSan — для неопределённого поведения, clang-tidy и -Wthread-safety — на этапе компиляции, а perf — для профилирования.
Поддержка платформ
Linux | macOS | Windows | |
ASan, UBSan, статические проверки | да | да | да |
TSan, LSan | да | да | да, через WSL |
Профилировщик (perf) | да | пока нет | да, через WSL |
В Windows сервер сам находит дистрибутив WSL и направляет через него инструменты, предназначенные только для Linux. Вы по-прежнему передаёте обычные C:\ пути. Если что-то не может запуститься, сервер прямо говорит об этом и называет команду, которая это исправит.
Настройка
Вам понадобятся Python 3.11+, uv и компилятор C++ (clang или gcc).
git clone https://github.com/GusDawn123/cpp-analysis-mcp
cd cpp-analysis-mcp
uv syncЗатем зарегистрируйте его в своём агенте. Для Claude Code:
claude mcp add cpp-analysis -- uv run --directory <path-to-repo> cpp-analysis-mcpДля любого другого MCP-клиента добавьте ту же команду в его конфигурационный файл:
{ "mcpServers": { "cpp-analysis": {
"command": "uv",
"args": ["run", "--directory", "<path-to-repo>", "cpp-analysis-mcp"]
}}}Первый запуск занимает минуту. Сервер компилирует и запускает крошечную программу с ошибками для каждого анализа, чтобы доказать, что инструмент действительно работает на вашей машине, а затем кэширует результаты.
Почему можно доверять пустому результату
Сервер никогда не верит инструменту на слово. При запуске он внедряет настоящую ошибку (гонку данных, утечку, переполнение) и требует, чтобы каждый детектор её поймал. Детектор, который не реагирует на известную ошибку, помечается как недоступный, с указанием причины и команды установки, которая это исправляет.
Таким образом, пустой отчёт означает, что детектор, который, как доказано, работает здесь, ничего не увидел. Эта разница важна, потому что молча сломанный инструмент выглядит точно так же, как чистый код.
Архитектура
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Правила слоёв обеспечиваются тестами, которые разбирают дерево исходников, поэтому они не могут устареть: server.py не содержит управляющей логики, только process.py может запускать дочерний процесс, парсеры никогда не обращаются к файлам, и ровно один модуль может определять, что это за машина.
Тесты
507 модульных тестов запускаются где угодно, компилятор не нужен. Интеграционные тесты компилируют и запускают фикстуры с внедрёнными ошибками, а эталонные результаты, полученные на Linux, macOS и Windows, не позволяют парсерам отклоняться от истины.
make testЛицензия
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
MCP server for building and testing AI agents with multi-model experimentation and insights.
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.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes LLDB debugging capabilities, enabling AI-assisted interactive debugging of C/C++ applications through 40 specialized tools.4MIT
- FlicenseNot gradedqualityBmaintenanceBuilds 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-
- FlicenseNot gradedqualityCmaintenanceEnables AI coding assistants to manage persistent memory, search project context, generate tests, review architecture, and orchestrate workflows through 15 MCP tools, enhancing context-aware code generation.-
- FlicenseBqualityCmaintenanceEnables AI agents to perform comprehensive, zero-infrastructure codebase analysis through 24 MCP tools, covering security, quality, architecture, type safety, git history, and dead code detection with high precision and local privacy.45-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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