Skip to main content
Glama

qwen-dap-mcp

Geben Sie Qwen Code einen echten nativen Debugger.

Eine debugger-unabhängige Debug Adapter Protocol (DAP) → Model Context Protocol (MCP)-Brücke für natives Laufzeit-Debugging, Absturzanalyse und begrenzte autonome Fix-/Verifizierungsschleifen.

CI Release npm npm downloads MCP Registry License Node

Veröffentlicht auf npm als @slp-dev1/qwen-dap-mcp und im offiziellen MCP-Registry als io.github.SLP-DEV1/qwen-dap-mcp.

Warum es das gibt

Coding-Agenten sind gut darin, Quellcode zu lesen und zu bearbeiten, aber native Abstürze erfordern oft Beweise, die nur ein Debugger liefern kann: Stack-Frames, Register, lokale Variablen, Disassemblierung, Ausnahme-Zustand, Speicher, Module und Absurzabbilder.

qwen-dap-mcp macht diese Beweise über MCP verfügbar, sodass Qwen Code und andere MCP-Clients native Fehler analysieren können, ohne ein Debugger-Protokoll in den Agenten einzubetten.

Was es kann

  • Autonomes Absurz-Debugging – diagnostizieren → Quelle inspizieren → Fix vorschlagen → Fix anwenden → bauen → reproduzieren → verifizieren.

  • Echte native Debugger-Beweise – Stack, Register, lokale Variablen, Ausnahmezustand, Module, Disassemblierung, Speicher und Quellcode-Korrelation.

  • CodeLLDB-Integration – Starten oder Anhängen an autorisierte lokale native Ziele über DAP.

  • Windows-Minidumps / Post-Mortem-Debugging – vorhandene .dmp-Dateien öffnen und strukturierte Beweise wiederherstellen.

  • Laufzeit-Root-Cause-Backtracking – verdächtigen Werten durch begrenzte Aufrufer-Frames zu wahrscheinlich projektkontrollierten Erzeuger-Kandidaten folgen.

  • Verifizierungs-Fingerprints – zwischen behobenen, gleichen Abstürzen, veränderten Fehlern und nicht schlüssigen Reproduktionen unterscheiden.

  • Sicherheitsgrenzen – keine beliebige Shell, keine primitiven Schreiboperationen auf Quellcode, keine allgemeinen Speicherschreiboperationen und kein versteckter autonomer Zustand im MCP-Server.

Related MCP server: Debug-MCP

30-Sekunden-Beispiel

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

Qwen Code
  ↓
starts CodeLLDB 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

Installation in Qwen Code

Direkt aus dem GitHub-Release installieren:

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

Oder die veröffentlichte npm-Erweiterung mit Scope installieren:

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

Dann die Erweiterung und den MCP-Server überprüfen:

/mcp
/skills

Sie sollten den qwen-dap-mcp-MCP-Server und das gebündelte native-runtime-debug-Skill sehen.

Das GitHub-Release-Archiv ist eigenständig: Laufzeit-npm-Abhängigkeiten sind in dist/index.js gebündelt.

Verwendung über einen anderen Stdio-MCP-Client

Für MCP-Clients, die einen lokalen stdio-Befehle akzeptieren, kann das veröffentlichte npm-Paket mit folgendem Befehle gestartet werden:

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

Eine typische Client-Konfiguration sieht so aus:

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

Qwen Code ist die primäre Integratzion und der Pfad, der durch die Erweiterungsverpakkung und Release-Valiierung des Projekts abgedeckt ist. Der MCP-Server selbst kommuniziert über lokales stdio.

Verteilung

Kanal

Kennung / Installationspfad

Qwen Code von GitHub

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

Qwen Code von npm

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

npm

@slp-dev1/qwen-dap-mcp

Offizielles MCP-Registry

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

GitHub Releases

Eigenständiges Erweiterungsarchiv

Autonomes Absturz-Debugging

Der High-Level-Workflow debug_this_crash kann einen begrenzten autonomen Debugging-Zyklus steuern:

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

Starten Sie einen autonomen Zyklus:

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
  }
)

Der erste Aufruf gibt workflow.autonomousAgent mit explizitem serialisierbarem Zustand, abhängigkeitsbewussten nextActions, Root- und aktive Absurz-Fingerprints, begrenzter Historie, Backtracing-Beweise zur Laufzeit, Verifizierungsqualität und Stopp-/Fortsetzungsstatus zurück.

Der Server speichert keinen versteckten Speicher für autonome Schleifen. Qwen Code führt angeforderte Quellcode-Änderungen, Builds, Tests und Versionskontrolloperationen über seine normalen autorisierten Tools aus.

Autonome Status

Status

Bedeutung

needs-evidence

Noch keinen Patch erstellen; stärkere Projekt-/Aufrufer-Beweise sammeln

needs-fix

Die Beweise sind stark genug für den ersten begrenzten Quellcode-Fix

retry-fix

Derselbe aktive Absurz besteht weiterhin; den Fix übearbeiten

needs-reproduction

Die Verifizierung wurde zu frü abgebrochen; die ursprüngliche Reproduktion abschließen

changed-failure

Ein anderer Absurz ist aufgetreten; den Root-Fingerprint beibehalten und eine neue Basiinie setzen

fixed

Die vollständige Reproduktion endete sauber

budget-exhausted

Maximale Anzahl automatischer Fix-Versuche erreicht

blocked

Keine vertrauenswürdigen Beweise für eine weitere autonome Änderung verfügbar

Intelligente Diagnose

Die Diagnoseschicht trennt rohe Debugger-Fakten von Inferenz und liefert:

  • classificazion – aktuelle Absurz-/Stopp-Familie,

  • faultLocazion – tatsächlicher Debugger-Stopp-Frame,

  • projectFrame – erster wahrscheinlich anwendungsgesteuerter Frame,

  • frameSelection – bewertete Stack-Frame-Beweise und Laufzeit-/Systemausschlüsse,

  • operandAnalysis – Befehlsoperanden, referenzierte Register, Speicheroperanden und Register↔Lokale-Bindungen,

  • callChain – Projekt-Aufrufer, Laufzeitgrenzen, wiederholte Frames und Herkunftshinweise,

  • hypotheses – nach Rangfolge geordnete Erklärungen mit expliziter Konfidenz,

  • fixWorkflow – Kandidaten-Quellcodeposition und enge, evidengestützte Fix-Richtung,

  • verificationBaseline – kompakte Fehlersignatur,

  • rootCauseBacktrack – begrenzte Laufzeit-Herkunft hin zu Erzeuger-Kandidaten,

  • verificationQuality – Stärke der Debugger-Beweise nach der Verifizierung.

Ein hoher Projekt-Frame-Score bedeut „wahrscheinlich Projektcode“, nicht „bewiesene Root Cause“. Kausale Behauptungen sollten weiterhin an den Ausnahme-Zustand, Operanden/Register/lokale Variablen, Aufrufer-Herkunft, Quellcode-Bestätigung und Reproduktion geknüpft sein.

Absurzabbilder / Minidumps

Öffnen und diagnostizieren Sie ein vorhandenes Dump in einem einzigen High-Level-Aufruf:

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"]}
)

Eine Dump-Sitzung ist eingefroren/schreibgeschützt. Ein historisches Dump kann Beweise für den erfassten Fehler liefern, aber ein Quellcode-Fix benötigt für die Verifizierung weiterhin eine neu erstellte Live-Reproduktion oder ein neu erzeugtes Dump.

Architektur

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 / DAP adapter
        │
        ├── authorized live target
        └── crash dump / core file

Der MCP-Server hat keinen HTTP-Listener. Der Adapter wird lokal ohne Shell gestartet und kommuniziert über stdio.

MCP-Toolsets

Das Standard-Toolset agent setzt bewusst nur die neun unten aufgefürten High-Level-Tools frei, damit Coding-Agenten nicht für jede Low-Level-Debugger-Primitive Kontext verbrauchen. Setzen Sie QWEN_DAP_MCP_TOOLSET=full, wenn Sie absichtlich die vollständige manuelle DAP-Oberfläche benötigen. Siehe docs/toolsets.md.

Standard-agent-ools

Tool

Zweck

debug_this_crash

High-Level-Diagnose für Live-/CodeLLDB-/Dump-Sitzungen, Verifizierung und autonome Orchestrierung

debug_diagnose_stop

Intelligente Diagnose des aktuellen Stopp-Zustands

debug_source_disassembly

Fehlerkorrelation plus Befehls-/Operanden-/Register-/Lokalkontext des Projekt-Frames

debug_run_to_stop

Starten/Anhängen und race-sicher auf Stopp/Beendigung/Abbruch warten

debug_open_dump

Ein natives Core-/Minidump für die schreibgeschützte Post-Mortem-Untersuchung öffnen

debug_snapshot

Einen begrenzten rohen Laufzeit-Snapshot erfassen

debug_status

Aktuellen Sitzungsstatus lesen

debug_continue

Ein autorisiertes Live-Ziel bis zum nächsten Stopp fortsetzen

debug_disconnect

Trennen und Debugger-Sitzung beenden

Das full-Toolset setzt zusätzlich manuelle Breakpoint-/Watchpoint-Verwaltung, Steping, Auswertung, Threads/Stacks/Scopes/Variablen, Module, Disassemblierung, begrenzte Speicherlesevorgänge, Ausnahme-Steuerung, generisches DAP-Start/Anhängen und CodeLLDB-Lebenszyklus-Primitiven frei.

Verifizierungsmodell

Die Verifizierung trennt bewusst Debugger-Beweise von externen Garantien wie Build-Erfolg, Projekttests und exakten Reproduktionseingaben.

Befunde:

  • fixed – die vollständige Reproduktion erreichte ein sauberes, erfolgreihes Endergebnis,

  • not-fixed – dieselbe Absurzfamilie/-signatur wurde reproduziert,

  • changed-failure – die Ausführung ist weiterhin abgestürzt, aber die aktive Fehlersignatur hat sich geändert,

  • inconclusive – unzureichende Beweise, um Erfolg oder Fehlschlag zu behaupten.

Ein Breakpoint, ein Einstiegs-Stopp, eine Pause, ein Schritt oder ein konfigurierter/First-Chance-Ausnahme-Stopp ist bewusst kein Beweis für einen Fix.

Echte Windows-Validierung

Das Repository enthält echte CodeLLDB-Smoke-Workflows unter Windows. Der Minidump-Smoke-Pfad:

  1. einen MSVC-C++-Absturzziel mit PDB-Symbolen kompilieren,

  2. absichtlich eine Zugriffsverletzung auslösen,

  3. ein echtes .dmp mit MiniDumpWriteDump schreiben,

  4. echtes CodeLLDB starten,

  5. das Dump über DAP öffnen,

  6. die Wiederherstellung von Stack/Quellcode/Register/Modul/Disassemblierung verifizieren,

  7. eine intelligente Projekt-Frame-Diagnose ausführen,

  8. die Erzeugung von autonomem Zustand/Fingerprint/Aktionen aus dem echten Dump validieren.

Entwicklung

Voraussetzungen:

  • Node.js 20+

  • npm

Führen Sie den vollständigen Check aus:

npm ci --ignore-scripts
npm run check

npm run check führt TypeScript-Build, Tests und das Staging des Erweiterungspakets durch. CI läuft mit Node 20 und 22.

Sicherheitsmodell

  • nur lokaler stdio-MCP-Transport,

  • kein integrierter Remote-HTTP-Debugger-Dienst,

  • keine belieige Shell-/Quellcode-Schreib-MCP-Primitive,

  • keine belieige Speicherschreib-MCP-Primitive,

  • kein automatischer Quellcode-Rollback ohne externe Beweise,

  • Live-Attach nur für autorisierte lokale Ziele vorgesehen,

  • Post-Mortem-Dumps gegen Ausführungssteuerungsoperationen eingefroren,

  • begrenztes autonomes Fix-Budget mit deterministischen Stopp-Bedingungen,

  • schwache/nicht schlüssige Beweise lösen keine weitere Quellcode-Änderung aus,

  • First-Chance-/konfigurierte Ausnahme-Stopps werden nicht automatisch als fatal behandelt.

Mitwirken

Issues und Pull Requests sind willkommen. Siehe CONTRIBUTING.md für Entwicklungsrichtlinien.

Wenn Ihnen das Projekt nützlich ist, hilft ein Stern auf dem Repository anderen Benutzern von Qwen Code und MCP, es zu entdecken.

Lizenz

Apache License 2.0. Siehe 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