Skip to main content
Glama

qwen-dap-mcp

Дайте Qwen Code настоящий нативный отладчик.

Мост, не зависящий от конкретного отладчика, между Debug Adapter Protocol (DAP) → Model Context Protocol (MCP) для нативной отладки во время выполнения, анализа сбоев и ограниченных автономных циклов исправления/проверки.

CI Release npm npm downloads MCP Registry License Node

Опубликовано на 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 extensions install SLP-DEV1/qwen-dap-mcp

Qwen Code из npm

qwen extensions install @slp-dev1/qwen-dap-mcp

npm

@slp-dev1/qwen-dap-mcp

Официальный реестр MCP

io.github.SLP-DEV1/qwen-dap-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 выполняет запрошенные правки исходного кода, сборки, тесты и операции управления исходным кодом через свои обычные авторизованные инструменты.

Автономные статусы

Статус

Значение

needs-evidence

Пока не патчить; соберите более сильные доказательства проекта/вызывающего кода

needs-fix

Доказательств достаточно для первого ограниченного исправления исходного кода

retry-fix

Тот же активный сбой сохранился; пересмотрите исправление

needs-reproduction

Проверка остановлена слишком рано; завершите исходное воспроизведение

changed-failure

Появился другой сбой; сохраните корневой отпечаток и переустановите базовую линию

fixed

Полное воспроизведение завершилось чисто

budget-exhausted

Достигнуто максимальное количество автоматических попыток исправления

blocked

Достоверные доказательства для ещё одного автономного редактирования недоступны

Интеллектуальная диагностика

Слой диагностики отделяет необработанные факты отладчика от выводов и сообщает:

  • 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 file

MCP-сервер не имеет HTTP-слушателя. Адаптер запускается локально без оболочки и общается через stdio.

Наборы инструментов MCP

Набор инструментов agent по умолчанию намеренно предоставляет только девять высокоуровневых инструментов, перечисленных ниже, чтобы кодирующие агенты не тратили контекст на каждый низкоуровневый примитив отладчика. Установите QWEN_DAP_MCP_TOOLSET=full, когда вам намеренно нужна полная ручная поверхность DAP. См. docs/toolsets.md.

Инструменты agent по умолчанию

Инструмент

Назначение

debug_this_crash

Высокоуровневая диагностика живого/CodeLLDB/lldb-dap/дампа, проверка и автономная оркестрация

debug_diagnose_stop

Интеллектуальная диагностика текущего остановленного состояния

debug_source_disassembly

Корреляция сбоя плюс контекст инструкций/операндов/регистров/локальных переменных проектного кадра

debug_run_to_stop

Запуск/подключение и безопасное ожидание остановки/выхода/завершения с учётом гонок

debug_open_dump

Открытие нативного ядра/минидампа для посмертного просмотра только для чтения

debug_snapshot

Захват ограниченного необработанного снимка времени выполнения

debug_status

Чтение текущего статуса сеанса

debug_continue

Возобновление авторизованной живой цели до следующей остановки

debug_disconnect

Отключение и завершение сеанса отладчика

Набор инструментов full дополнительно предоставляет ручное управление точками останова/точками наблюдения, пошаговое выполнение, оценку, потоки/стеки/области/переменные, модули, дизассемблирование, ограниченное чтение памяти, управление исключениями, универсальный запуск/подключение DAP и примитивы жизненного цикла CodeLLDB / lldb-dap.

Модель проверки

Проверка намеренно отделяет доказательства отладчика от внешних гарантий, таких как успешная сборка, тесты проекта и точные входные данные воспроизведения.

Вердикты:

  • fixed — полное воспроизведение достигло чистого успешного конечного результата,

  • not-fixed — воспроизведено то же семейство/сигнатура сбоя,

  • changed-failure — выполнение всё ещё завершилось сбоем, но активная сигнатура сбоя изменилась,

  • inconclusive — недостаточно доказательств для утверждения об успехе или неудаче.

Точка останова, остановка на входе, пауза, шаг или настроенная/первичная остановка исключения намеренно не являются доказательством исправления.

Реальная проверка на Windows

Репозиторий содержит реальные smoke-тесты CodeLLDB на Windows. Путь smoke-теста минидампов:

  1. компилирует цель сбоя MSVC C++ с символами PDB,

  2. намеренно вызывает нарушение прав доступа,

  3. записывает реальный .dmp с помощью MiniDumpWriteDump,

  4. запускает реальный CodeLLDB,

  5. открывает дамп через DAP,

  6. проверяет восстановление стека/исходного кода/регистров/модулей/дизассемблирования,

  7. выполняет интеллектуальную диагностику проектного кадра,

  8. проверяет генерацию автономного состояния/отпечатка/действий из реального дампа.

Разработка

Требования:

  • Node.js 20+

  • npm

Запустите полную проверку:

npm ci --ignore-scripts
npm run check

npm run check выполняет сборку TypeScript, тесты и подготовку пакета расширения. CI запускает Node 20 и 22.

Модель безопасности

  • только локальный stdio MCP-транспорт,

  • нет встроенного удалённого HTTP-сервиса отладчика,

  • нет произвольного примитива оболочки/записи исходного кода MCP,

  • нет произвольного примитива записи памяти MCP,

  • нет автоматического отката исходного кода без внешних доказательств,

  • живое подключение предназначено только для авторизованных локальных целей,

  • посмертные дампы заморожены от операций управления выполнением,

  • ограниченный бюджет автономных исправлений с детерминированными условиями остановки,

  • слабые/неубедительные доказательства не вызывают ещё одно редактирование исходного кода,

  • первичные/настроенные остановки исключений не рассматриваются автоматически как фатальные.

Вклад

Приветствуются проблемы и запросы на включение. См. CONTRIBUTING.md для руководства по разработке.

Если проект вам полезен, звезда на репозитории помогает другим пользователям Qwen Code и MCP найти его.

Лицензия

Apache License 2.0. См. LICENSE.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
<1hResponse time
0dRelease cycle
15Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    4
    ISC
  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    8
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    27
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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

View all related MCP servers

Related MCP Connectors

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/SLP-DEV1/qwen-dap-mcp'

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