qwen-dap-mcp

MCP serverDev tools

Lets your agent debug running programs by inspecting crashes, freezes, memory dumps, and stack traces.

Unavailable. This server has no hosted endpoint yet, so ahel can't serve it.

Add to setup to save this item as a reference. ahel cannot run it, and signing in will not install it.

About this server

Native runtime debugging via DAP-to-MCP for crashes, hangs, dumps, symbols, and forensics.

Getting started

  1. Save this item in Your setup as a reference.
  2. Read the source or reference documentation for its setup requirements. Saving it here does not connect it to your AI.
  3. Check this page for availability before trying to install it through ahel.

From the project's README

As published by slp-dev1/qwen-dap-mcp in README.md.

Give coding agents a real native debugger.

qwen-dap-mcp is a local Debug Adapter Protocol (DAP) → Model Context Protocol (MCP) bridge for native crash debugging, hang/deadlock triage, crash dumps, differential runtime analysis, remote targets, and bounded fix/verify workflows.

Built for Qwen Code, usable from any stdio MCP client, and designed to expose debugger evidence without turning MCP into a general-purpose shell.

Quick start · Capabilities · Debugger support · Safety · Docs · Contributing

Why this exists

Coding agents can read source and propose patches, but native failures often cannot be diagnosed reliably from source alone. The useful evidence lives at runtime: thread stacks, registers, locals, disassembly, exception state, modules, memory, wait states, symbols, and crash dumps.

qwen-dap-mcp makes that evidence available through MCP and adds agent-oriented workflows on top of raw debugger primitives:

  • Evidence first — inspect the actual failing process instead of guessing from source.
  • High-level workflows — crash, hang, differential, causal tracing, progress probing, runtime-report, dump, and verification tools are designed for agents rather than humans driving a debugger console.
  • Bounded automation — autonomous fix/verify state is explicit, serializable, iteration-limited, and re-checks the original reproduction.
  • Small default surface — 18 core agent tools stay visible by default; forensic workflows and raw DAP controls are separate opt-in tiers.
  • Local by default — the MCP server communicates over stdio and debugger adapters run locally unless you explicitly configure a validated remote target.

Quick start

Qwen Code

Install directly from GitHub:

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

Or install the published npm package:

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

Then verify the extension:

/mcp
/skills

You should see the qwen-dap-mcp server and the bundled native-runtime-debug skill.

Any stdio MCP client

npx -y @slp-dev1/qwen-dap-mcp

Typical configuration:

{
  "mcpServers": {
    "qwen-dap-mcp": {
      "command": "npx",
      "args": ["-y", "@slp-dev1/qwen-dap-mcp"]
    }
  }
}

CLI discovery is available without starting the stdio server:

qwen-dap-mcp --help
qwen-dap-mcp --version

30-second example

You: Debug why app.exe crashes with --repro

Coding agent
  ↓
qwen-dap-mcp starts a DAP debugger
  ↓
captures the native failure + project-controlled frame
  ↓
correlates stack + registers + locals + disassembly
  ↓
backtracks runtime evidence toward the likely producer
  ↓
agent applies a minimal source fix
  ↓
builds and repeats the original reproduction
  ↓
verifies whether the original crash fingerprint is gone

The MCP server supplies debugger evidence and bounded workflow state. Source editing, builds, tests, and source-control operations stay with the coding agent's normal authorized tools.

What it does

ProblemAgent-oriented capability
Native crashDiagnose a stopped process, identify project frames, collect runtime evidence, and drive bounded fix/verify loops
Hang or deadlockObserve, pause when needed, capture all-thread stacks, classify waits, and surface conservative deadlock candidates
Good run vs bad runCompare stopped sessions semantically while suppressing raw ASLR/address noise
Suspicious valueTrace real writers with data breakpoints/watchpoints and bounded temporal tracing
Runtime causalityBuild a bounded suspicious-value consumer → writer/producer chain with debug_causal_trace
Suspected busy loopResume/pause sample a live target with debug_progress_probe to distinguish repeated state from observed execution movement
Record/replay targetMove backward with capability-gated debug_reverse_execution using DAP stepBack / reverseContinue
Crash fleet triageBuild debug_runtime_report fingerprints, cluster them with debug_cluster_crashes, and classify regression reproductions with debug_regression_oracle
Child/fork signalInspect fail-closed adapter startDebugging requests with debug_child_requests without auto-spawning child sessions
Crash dumpInspect Windows minidumps and supported LLDB/GDB postmortem targets without launching the failed program
Remote native targetAttach through validated gdbserver / lldb-server gdbserver endpoints with loopback-first policy
Multiple targetsKeep isolated DAP sessions and route requests by sessionId
Agent safetyKeep the default surface high-level and optionally gate executable/mutating DAP actions with HOL Guard
Object lifetime / UAFCorrelate pointer writers, sanitizer evidence, reverse stepping, and allocation/free hints
Symbol mismatchCompare adapter symbol state with bounded local binary/PDB identity evidence
Crash fleetsBatch postmortem analysis plus exact/semantic/family grouping
Offline handoffExport structured evidence and SARIF without keeping the target alive

Tool surfaces

The default agent toolset intentionally exposes 18 core tools so coding models spend less context and selection effort on rarely needed forensic workflows.

Core toolPurpose
debug_this_crashHigh-level native crash diagnosis and bounded autonomous verification
debug_this_hangHigh-level hang/deadlock triage
debug_compare_runsSemantic comparison of baseline and failing stopped sessions
debug_trace_valueBounded temporal tracing of a suspicious value
debug_causal_traceConsumer-to-writer producer evidence for suspicious runtime state
debug_progress_probeResume/pause sampling for no-progress and busy-loop triage
debug_runtime_reportFingerprints, symbols, sanitizer evidence, memory hazards, ABI/API analysis, hypotheses, and breakpoint planning
debug_trace_lifetimeObject/pointer lifetime and writer provenance
debug_adaptive_evidenceCheap → medium → full bounded evidence collection
debug_diagnose_stopDiagnose the current debugger stop
debug_source_disassemblyCorrelate source with nearby native instructions
debug_find_writerStop at the code that writes a watched value
debug_run_to_stopContinue/launch toward a bounded meaningful stop
debug_open_dumpOpen supported postmortem dump/core targets
debug_snapshotCapture structured runtime evidence
debug_statusInspect debugger/session state
debug_disconnectCleanly end a debugger session
debug_sessionsCreate, inspect, and remove isolated sessions

Set QWEN_DAP_MCP_TOOLSET=forensics when deeper investigation is needed. It keeps the raw manual DAP surface hidden while adding:

Forensics-only toolPurpose
debug_reverse_executionCapability-gated reverseContinue / stepBack
debug_cluster_crashesCluster normalized crash reports
debug_regression_oracleClassify original/changed/inconclusive reproductions
debug_child_requestsInspect fail-closed child/fork reverse requests
debug_adopt_childExplicitly adopt one reviewed startDebugging child into an isolated session when QWEN_DAP_MCP_CHILD_DEBUG=1
debug_time_travelBounded rr recording/replay planning and reverse workflows
debug_thread_timelineMulti-thread progress and explicit-owner lock graph
debug_symbol_doctorBinary identity, local symbols, and PDB/DWARF mismatch diagnosis
debug_dump_batchBounded crash-dump fleet analysis
debug_crash_familiesExact/semantic/family crash comparison
debug_cpp_objectRead-only C++ object/vtable inspection
debug_evidence_bundleJSON/Markdown/SARIF evidence handoff
debug_adapter_doctorAdapter capability, rr, and security-profile audit

Set QWEN_DAP_MCP_TOOLSET=full only when raw stacks/scopes/variables, manual breakpoints/watchpoints, evaluate, memory reads, stepping, or adapter-specific controls are intentionally required. See docs/toolsets.md.

Debugger support

Adapter / targetSupported use
CodeLLDBLocal native launch/attach and Windows minidump workflows
LLVM lldb-dapNative launch/attach, core-file inspection, and lldb-server gdbserver remote attach
GNU GDB 14+ DAPNative launch/attach, core-file workflows, and hardened gdbserver remote attach

Adapter discovery, prerequisites, and platform-specific setup are documented in docs/README.md.

More than raw DAP

Raw DAP is intentionally low level. qwen-dap-mcp keeps raw debugger access available in the full toolset, but its default surface focuses on workflows an agent can reason about directly.

Source onlyRaw DAPqwen-dap-mcp agent tools
Runtime debugger evidence—✓✓
High-level crash diagnosis——✓
All-thread hang triage—manual✓
Good-vs-bad semantic diff—manual✓
Explicit bounded fix/verify state——✓
Verification fingerprinting——✓
Causal writer chain—manual✓
Progress sampling / busy-loop triage—manual✓
Sanitizer + symbols + ABI report correlation—manual✓

Safety by design

A debugger can execute and mutate target state, so the bridge treats that power explicitly.

  • No arbitrary shell tool is exposed by the MCP server.
  • No source-writing primitive is exposed by the MCP server.
  • No general memory-write primitive is part of the default agent surface.
  • Remote endpoints are validated and non-loopback access requires explicit allowlisting.
  • Autonomous workflow state is explicit rather than hidden inside a background loop.
  • Optional HOL Guard 2.2+ integration can fail closed before protected adapter startup or executable/mutating DAP actions cross the debugger boundary.

Read the full policy and threat model in docs/hol-guard.md and SECURITY.md.

Repro labs and benchmark harness

The repository includes deterministic native fixtures so behavior can be tested instead of demonstrated only with screenshots:

npm run demo:build -- null-pointer
npm run demo:repro -- null-pointer

npm run demo:hang:build -- deadlock
npm run demo:hang:repro -- deadlock

benchmark/ also contains a reproducible comparison harness for source-only, dap-raw, and qwen-dap-mcp workflows. It deliberately ships without invented performance numbers; publishable results should record the exact model, settings, commit, reproduction, raw outcome, and verification status.

Documentation

Start with the documentation index.

TopicGuide
CodeLLDB on Windowsdocs/CODELLDB_WINDOWS.md
LLVM lldb-dapdocs/lldb-dap.md
GNU GDB DAPdocs/gdb-dap.md
Remote debuggingdocs/remote-debugging.md
Hang/deadlock analysisdocs/hang-debugging.md
Differential debuggingdocs/differential-debugging.md
Runtime debugging v2docs/runtime-debugging-v2.md
Agent vs full toolsetsdocs/toolsets.md
HOL Guard integrationdocs/hol-guard.md
Publishing / releasesdocs/publishing.md

Development

Requirements: Node.js 20+.

git clone https://github.com/SLP-DEV1/qwen-dap-mcp.git
cd qwen-dap-mcp
npm ci
npm run check

npm run check builds TypeScript, runs the test suite, and validates the self-contained Qwen extension package. CI additionally exercises native crash/hang fixtures, adapter-specific real smoke tests, package output, HOL Guard compatibility, and the container build.

See CONTRIBUTING.md before opening a pull request.

Distribution

Published as:

  • npm: @slp-dev1/qwen-dap-mcp
  • MCP Registry: io.github.SLP-DEV1/qwen-dap-mcp
  • Qwen Code extension: qwen extensions install SLP-DEV1/qwen-dap-mcp
  • GitHub Releases: self-contained extension archives

Current release details are in CHANGELOG.md and GitHub Releases.

Contributing

Bug reports, reproducible native failure cases, adapter compatibility findings, documentation fixes, and focused feature proposals are welcome. Please keep additions evidence-driven and prefer high-level agent workflows over expanding the default surface with raw debugger commands.

If this project saves you a debugging session, consider starring the repository — it helps other MCP and coding-agent users discover it.

License

Apache-2.0. See LICENSE and NOTICE.

Signals

GitHub stars
3
Last commit
Oct 2026
Weekly_downloads
116 weekly_downloads
Advanced
Delivery
qwen-dap-mcp MCP server → your ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-slp-dev1-qwen-dap-mcp
Source
github.com/slp-dev1/qwen-dap-mcp