qwen-dap-mcp
qwen-dap-mcp
Дайте Qwen Code настоящий нативный отладчик.
Мост, не зависящий от конкретного отладчика, между Debug Adapter Protocol (DAP) → Model Context Protocol (MCP) для нативной отладки во время выполнения, анализа сбоев и ограниченных автономных циклов исправления/проверки.
Опубликовано на npm как @slp-dev1/qwen-dap-mcp и в официальном реестре MCP как io.github.SLP-DEV1/qwen-dap-mcp.
Почему это существует
Кодирующие агенты хорошо умеют читать и редактировать исходный код, но для нативных сбоев часто требуются доказательства, которые может предоставить только отладчик: кадры стека, регистры, локальные переменные, дизассемблированный код, состояние исключений, память, модули и дампы сбоев.
qwen-dap-mcp предоставляет эти доказательства через MCP, чтобы Qwen Code и другие MCP-клиенты могли анализировать нативные сбои, не встраивая протокол отладчика в агента.
Что он умеет
Автономная отладка сбоев — диагностика → просмотр исходного кода → предложение исправления → применение исправления → сборка → воспроизведение → проверка.
Реальные доказательства от нативного отладчика — стек, регистры, локальные переменные, состояние исключений, модули, дизассемблированный код, память и корреляция с исходным кодом.
Интеграция с CodeLLDB — запуск или подключение к авторизованным локальным нативным целям через DAP.
Интеграция с вышестоящим LLVM lldb-dap — полноценная живая отладка и просмотр файлов ядра без рассмотрения lldb-dap как псевдонима CodeLLDB.
Минидампы Windows / посмертная отладка — открытие существующих файлов
.dmpи восстановление структурированных доказательств.Обратное отслеживание первопричины во время выполнения — прослеживание подозрительных значений через ограниченные кадры вызывающих функций к вероятным кандидатам-производителям, контролируемым проектом.
Отпечатки проверки — различение исправленных, воспроизведённых с тем же сбоем, изменённых сбоев и неубедительных воспроизведений.
Границы безопасности — нет произвольной оболочки, примитива записи исходного кода, общего примитива записи памяти или скрытого автономного состояния внутри MCP-сервера.
Related MCP server: Debug-MCP
Пример за 30 секунд
You: Debug why app.exe crashes with --repro
Qwen Code
↓
starts CodeLLDB or upstream lldb-dap through qwen-dap-mcp
↓
finds the native failure and first project-controlled frame
↓
correlates instruction operands ↔ registers ↔ locals
↓
backtracks runtime evidence toward a likely producer
↓
reads the relevant source
↓
applies a minimal evidence-backed fix
↓
builds and repeats the same reproduction
↓
verifies the original crash fingerprint no longer reproducesУстановка в Qwen Code
Установите напрямую из релиза GitHub:
qwen extensions install SLP-DEV1/qwen-dap-mcpИли установите опубликованное scoped npm-расширение:
qwen extensions install @slp-dev1/qwen-dap-mcpЗатем проверьте расширение и MCP-сервер:
/mcp
/skillsВы должны увидеть MCP-сервер qwen-dap-mcp и встроенный навык native-runtime-debug.
Архив релиза GitHub является самодостаточным: зависимости npm времени выполнения включены в dist/index.js.
Использование из другого stdio MCP-клиента
Для MCP-клиентов, которые принимают локальную команду stdio, опубликованный npm-пакет можно запустить с помощью:
npx -y @slp-dev1/qwen-dap-mcpТипичная конфигурация клиента выглядит так:
{
"mcpServers": {
"qwen-dap-mcp": {
"command": "npx",
"args": ["-y", "@slp-dev1/qwen-dap-mcp"]
}
}
}Qwen Code является основной интеграцией и путём, охваченным упаковкой расширений и проверкой релизов проекта. Сам MCP-сервер общается через локальный stdio.
Распространение
Канал | Идентификатор / путь установки |
Qwen Code из GitHub |
|
Qwen Code из npm |
|
npm |
|
Официальный реестр MCP |
|
Релизы GitHub | Самодостаточный архив расширения |
Адаптеры отладчика
CodeLLDB и вышестоящий LLVM lldb-dap являются полноценными путями адаптеров. Существующие рабочие процессы CodeLLDB остаются поддерживаемыми; используйте debug_this_crash(mode="lldb-dap"), когда вам нужен адаптер отладчика, поставляемый самим LLVM. Путь lldb-dap поддерживает живой запуск/подключение, а также анализ файлов ядра только для чтения через dumpAdapter="lldb-dap".
Обнаружение поддерживает явный adapterPath, LLDB_DAP_PATH, канонические или версионированные бинарные файлы PATH, общие каталоги инструментария LLVM / LLVM_HOME и xcrun --find lldb-dap на macOS. См. docs/lldb-dap.md для примеров, поведения посмертной отладки и ручных помощников полного набора инструментов.
Автономная отладка сбоев
Высокоуровневый рабочий процесс debug_this_crash может управлять ограниченным автономным циклом отладки:
Diagnose
↓
select project frame
↓
operand ↔ register ↔ variable evidence
↓
call-chain / runtime provenance backtrack
↓
inspect source
↓
propose minimal fix
↓
apply fix
↓
build
↓
reproduce
↓
verify fingerprint + evidence quality
├── fixed → stop
├── same crash → revise fix
├── changed crash → re-baseline active failure
├── inconclusive → finish reproduction, do not edit
└── budget exhausted / weak evidence → stop and reportЗапустите автономный цикл:
debug_this_crash(
mode="codelldb",
program="C:\\build\\app.exe",
args=["--repro"],
cwd="C:\\repo\\app",
analysis={
projectRoots:["C:\\repo\\app"],
projectModules:["app.exe"],
callerDepth:3
},
workflow={
stage:"autonomous",
maxIterations:3
}
)Первый вызов возвращает workflow.autonomousAgent с явным сериализуемым состоянием, nextActions с учётом зависимостей, корневыми и активными отпечатками сбоя, ограниченной историей, доказательствами обратного отслеживания во время выполнения, качеством проверки и статусом остановки/продолжения.
Сервер не хранит скрытой памяти автономного цикла. Qwen Code выполняет запрошенные правки исходного кода, сборки, тесты и операции управления исходным кодом через свои обычные авторизованные инструменты.
Автономные статусы
Статус | Значение |
| Пока не патчить; соберите более сильные доказательства проекта/вызывающего кода |
| Доказательств достаточно для первого ограниченного исправления исходного кода |
| Тот же активный сбой сохранился; пересмотрите исправление |
| Проверка остановлена слишком рано; завершите исходное воспроизведение |
| Появился другой сбой; сохраните корневой отпечаток и переустановите базовую линию |
| Полное воспроизведение завершилось чисто |
| Достигнуто максимальное количество автоматических попыток исправления |
| Достоверные доказательства для ещё одного автономного редактирования недоступны |
Интеллектуальная диагностика
Слой диагностики отделяет необработанные факты отладчика от выводов и сообщает:
classification— текущее семейство сбоя/остановки,faultLocation— буквальный кадр остановки отладчика,projectFrame— первый вероятный кадр, контролируемый приложением,frameSelection— оценённые доказательства кадров стека и исключения времени выполнения/системы,operandAnalysis— операнды инструкций, используемые регистры, операнды памяти и связи регистр↔локальная переменная,callChain— вызывающие функции проекта, границы времени выполнения, повторяющиеся кадры и подсказки происхождения,hypotheses— ранжированные объяснения с явной уверенностью,fixWorkflow— кандидатное местоположение в исходном коде и узкое направление исправления, подкреплённое доказательствами,verificationBaseline— компактная сигнатура сбоя,rootCauseBacktrack— ограниченное происхождение во время выполнения к кандидатам-производителям,verificationQuality— сила доказательств отладчика после проверки.
Высокий балл проектного кадра означает «вероятно, код проекта», а не «доказанная первопричина». Причинно-следственные утверждения должны по-прежнему опираться на состояние исключений, операнды/регистры/локальные переменные, происхождение вызывающего кода, подтверждение исходного кода и воспроизведение.
Дампы сбоев / минидампы
Откройте и диагностируйте существующий дамп одним высокоуровневым вызовом:
debug_this_crash(
mode="dump",
dumpPath="C:\\crashes\\app.dmp",
program="C:\\build\\app.exe",
sourceMap={"D:/agent/_work/project/src":"C:/work/project/src"},
analysis={projectRoots:["C:\\repo\\app"]}
)Сеанс дампа заморожен/только для чтения. Исторический дамп может установить доказательства для зафиксированного сбоя, но для исправления исходного кода всё равно потребуется пересобранное живое воспроизведение или вновь созданный дамп для проверки.
Архитектура
Qwen Code / MCP client
│
│ MCP over stdio
▼
qwen-dap-mcp
│
├── lifecycle/concurrency guard
├── bounded DAP snapshot layer
├── crash classification
├── project-frame scoring
├── operand/register/local correlation
├── call-chain provenance
├── runtime root-cause backtracking
├── verification fingerprints + quality scoring
└── autonomous action state machine
│
│ DAP over stdio
▼
CodeLLDB / lldb-dap / DAP adapter
│
├── authorized live target
└── crash dump / core fileMCP-сервер не имеет HTTP-слушателя. Адаптер запускается локально без оболочки и общается через stdio.
Наборы инструментов MCP
Набор инструментов agent по умолчанию намеренно предоставляет только девять высокоуровневых инструментов, перечисленных ниже, чтобы кодирующие агенты не тратили контекст на каждый низкоуровневый примитив отладчика. Установите QWEN_DAP_MCP_TOOLSET=full, когда вам намеренно нужна полная ручная поверхность DAP. См. docs/toolsets.md.
Инструменты agent по умолчанию
Инструмент | Назначение |
| Высокоуровневая диагностика живого/CodeLLDB/lldb-dap/дампа, проверка и автономная оркестрация |
| Интеллектуальная диагностика текущего остановленного состояния |
| Корреляция сбоя плюс контекст инструкций/операндов/регистров/локальных переменных проектного кадра |
| Запуск/подключение и безопасное ожидание остановки/выхода/завершения с учётом гонок |
| Открытие нативного ядра/минидампа для посмертного просмотра только для чтения |
| Захват ограниченного необработанного снимка времени выполнения |
| Чтение текущего статуса сеанса |
| Возобновление авторизованной живой цели до следующей остановки |
| Отключение и завершение сеанса отладчика |
Набор инструментов full дополнительно предоставляет ручное управление точками останова/точками наблюдения, пошаговое выполнение, оценку, потоки/стеки/области/переменные, модули, дизассемблирование, ограниченное чтение памяти, управление исключениями, универсальный запуск/подключение DAP и примитивы жизненного цикла CodeLLDB / lldb-dap.
Модель проверки
Проверка намеренно отделяет доказательства отладчика от внешних гарантий, таких как успешная сборка, тесты проекта и точные входные данные воспроизведения.
Вердикты:
fixed— полное воспроизведение достигло чистого успешного конечного результата,not-fixed— воспроизведено то же семейство/сигнатура сбоя,changed-failure— выполнение всё ещё завершилось сбоем, но активная сигнатура сбоя изменилась,inconclusive— недостаточно доказательств для утверждения об успехе или неудаче.
Точка останова, остановка на входе, пауза, шаг или настроенная/первичная остановка исключения намеренно не являются доказательством исправления.
Реальная проверка на Windows
Репозиторий содержит реальные smoke-тесты CodeLLDB на Windows. Путь smoke-теста минидампов:
компилирует цель сбоя MSVC C++ с символами PDB,
намеренно вызывает нарушение прав доступа,
записывает реальный
.dmpс помощьюMiniDumpWriteDump,запускает реальный CodeLLDB,
открывает дамп через DAP,
проверяет восстановление стека/исходного кода/регистров/модулей/дизассемблирования,
выполняет интеллектуальную диагностику проектного кадра,
проверяет генерацию автономного состояния/отпечатка/действий из реального дампа.
Разработка
Требования:
Node.js 20+
npm
Запустите полную проверку:
npm ci --ignore-scripts
npm run checknpm run check выполняет сборку TypeScript, тесты и подготовку пакета расширения. CI запускает Node 20 и 22.
Модель безопасности
только локальный stdio MCP-транспорт,
нет встроенного удалённого HTTP-сервиса отладчика,
нет произвольного примитива оболочки/записи исходного кода MCP,
нет произвольного примитива записи памяти MCP,
нет автоматического отката исходного кода без внешних доказательств,
живое подключение предназначено только для авторизованных локальных целей,
посмертные дампы заморожены от операций управления выполнением,
ограниченный бюджет автономных исправлений с детерминированными условиями остановки,
слабые/неубедительные доказательства не вызывают ещё одно редактирование исходного кода,
первичные/настроенные остановки исключений не рассматриваются автоматически как фатальные.
Вклад
Приветствуются проблемы и запросы на включение. См. CONTRIBUTING.md для руководства по разработке.
Если проект вам полезен, звезда на репозитории помогает другим пользователям Qwen Code и MCP найти его.
Лицензия
Apache License 2.0. См. LICENSE.
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables step-through debugging for C#, Node.js/TypeScript, Python, and Dart applications on Windows through a unified MCP interface. Acts as a bridge between MCP clients and various debug adapters, providing consistent debugging workflows with breakpoints, variable inspection, and process attachment capabilities.4ISC
- AlicenseAqualityDmaintenanceEnables AI assistants to perform interactive Python debugging with breakpoints, step execution, and variable inspection using the Debug Adapter Protocol (DAP) through an MCP server interface.81MIT
- AlicenseNot gradedqualityDmaintenanceEnables coding agents to use a real debugger (Python via debugpy) for launching, attaching, setting breakpoints, stepping through code, inspecting stack frames, and evaluating expressions through MCP tools.27MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to inspect debug state, control execution, and set breakpoints in VS Code by exposing the Debug Adapter Protocol as an MCP server.Apache 2.0
Related MCP Connectors
Agent Replay Debugger MCP — record every agent step + deterministic replay. Step-debugger for
Live browser debugging for AI assistants — DOM, console, network via MCP.
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
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/SLP-DEV1/qwen-dap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server