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 Registry,标识为 io.github.SLP-DEV1/qwen-dap-mcp

为什么需要这个项目

编码智能体擅长阅读和编辑源码,但原生崩溃通常需要只有调试器才能提供的证据:堆栈帧、寄存器、局部变量、反汇编、异常状态、内存、模块和崩溃转储。

qwen-dap-mcp 通过 MCP 暴露这些证据,使 Qwen Code 和其他 MCP 客户端能够推断原生故障的成因,而无需在智能体内部嵌入调试器协议。

它能做什么

  • 自主崩溃调试 — 诊断 → 检查源码 → 提出修复 → 应用修复 → 构建 → 复现 → 验证。

  • 真实原生调试器证据 — 堆栈、寄存器、局部变量、异常状态、模块、反汇编、内存和源码关联。

  • CodeLLDB 集成 — 通过 DAP 启动或附加到经授权的本地原生目标。

  • 上游 LLVM lldb-dap 集成 — 提供一流的实时调试和核心文件检查,而不将 lldb-dap 视为 CodeLLDB 的别名。

  • Windows minidump / 事后调试 — 打开现有的 .dmp 文件并恢复结构化证据。

  • 运行时根因回溯 — 在有界的调用者帧中追踪可疑值,以找到可能由项目控制的生产者候选。

  • 验证指纹 — 区分已修复、相同崩溃、故障变更和无法定论的复现。

  • 安全边界 — MCP 服务器内没有任意 shell、源码写入原语、通用内存写入原语或隐藏的自主状态。

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 Release 安装:

qwen extensions install SLP-DEV1/qwen-dap-mcp

或安装已发布的 scoped npm 扩展:

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

然后验证扩展和 MCP 服务器:

/mcp
/skills

您应该会看到 qwen-dap-mcp MCP 服务器以及随附的 native-runtime-debug Skill。

GitHub Release 归档是自包含的:运行时 npm 依赖已打包进 dist/index.js

从其他 stdio MCP 客户端使用

对于接受本地 stdio 命令的 MCP 客户端,可以通过以下方式启动已发布的 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 通信。

分发

渠道

标识符 / 安装路径

来自 GitHub 的 Qwen Code

qwen extensions install SLP-DEV1/qwen-dap-mcp

来自 npm 的 Qwen Code

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

npm

@slp-dev1/qwen-dap-mcp

官方 MCP Registry

io.github.SLP-DEV1/qwen-dap-mcp

GitHub Releases

自包含扩展归档

调试器适配器

CodeLLDB 和上游 LLVM lldb-dap 都是一流的适配器路径。现有 CodeLLDB 工作流仍然受支持;当您想要使用 LLVM 自身发布的调试器适配器时,可使用 debug_this_crash(mode="lldb-dap")lldb-dap 路径支持实时启动/附加,以及通过 dumpAdapter="lldb-dap" 进行只读核心文件分析。

发现逻辑支持显式 adapterPathLLDB_DAP_PATH、PATH 中的标准或带版本号的二进制文件、常见 LLVM 工具链目录 / LLVM_HOME,以及 macOS 上的 xcrun --find lldb-dap。有关示例、事后行为以及手动完整工具集辅助工具,请参阅 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 — 验证后的调试器证据强度。

高项目帧得分意味着“可能是项目代码”,而非“已证实的根因”。因果论断仍应关联异常状态、操作数/寄存器/局部变量、调用者来源、源码确认和复现。

崩溃转储 / minidump

通过一次高层调用打开并诊断现有转储:

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 监听器。适配器在本地生成,不使用 shell,并通过 stdio 通信。

MCP 工具集

默认的 agent 工具集刻意只暴露以下九个高层工具,这样编码智能体就不会在每个底层调试器原语上消耗上下文。当您确实需要完整的手动 DAP 接口时,可设置 QWEN_DAP_MCP_TOOLSET=full。请参阅 docs/toolsets.md

默认 agent 工具

工具

用途

debug_this_crash

高层实时/CodeLLDB/lldb-dap/转储诊断、验证和自主编排

debug_diagnose_stop

对当前停止状态的智能诊断

debug_source_disassembly

故障关联以及项目帧指令/操作数/寄存器/局部变量上下文

debug_run_to_stop

启动/附加并以竞态安全的方式等待停止/退出/终止

debug_open_dump

打开原生核心/minidump 以进行只读事后检查

debug_snapshot

捕获有界的原始运行时快照

debug_status

读取当前会话状态

debug_continue

将经授权的实时目标恢复到下一个停止点

debug_disconnect

断开并拆除调试器会话

full 工具集还额外暴露手动断点/观察点管理、单步执行、求值、线程/堆栈/作用域/变量、模块、反汇编、有界内存读取、异常控制、通用 DAP 启动/附加,以及 CodeLLDB / lldb-dap 生命周期原语。

验证模型

验证刻意将调试器证据与外部保证(如构建成功、项目测试和精确复现输入)区分开来。

判定结果:

  • fixed — 完整复现达到了干净成功的最终结果,

  • not-fixed — 复现了相同的崩溃类别/签名,

  • changed-failure — 执行仍然崩溃,但活动故障签名发生了变化,

  • inconclusive — 证据不足以判定成功或失败。

断点、入口停止、暂停、单步或已配置/首次机会异常停止刻意构成修复的证据。

真实的 Windows 验证

仓库包含 Windows 上的真实 CodeLLDB 冒烟工作流。minidump 冒烟路径如下:

  1. 编译带 PDB 符号的 MSVC C++ 崩溃目标,

  2. 刻意触发访问冲突,

  3. 使用 MiniDumpWriteDump 写入真实的 .dmp

  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 调试器服务,

  • 无任意 shell/源码写入 MCP 原语,

  • 无任意内存写入 MCP 原语,

  • 无外部证据时不自动回滚源码,

  • 实时附加仅面向经授权的本地目标,

  • 事后转储在执行控制操作下保持冻结,

  • 有界的自主修复预算与确定性停止条件,

  • 弱/无法定论的证据不会触发另一次源码编辑,

  • 首次机会/已配置的异常停止不会被自动视为致命。

贡献

欢迎提交 Issue 和 Pull Request。开发指南请参阅 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