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 reproducesQwen Code へのインストール
GitHub リリースから直接インストール:
qwen extensions install SLP-DEV1/qwen-dap-mcpまたは、公開済みのスコープ付き npm 拡張機能をインストール:
qwen extensions install @slp-dev1/qwen-dap-mcp次に、拡張機能と MCP サーバーを確認:
/mcp
/skillsqwen-dap-mcp MCP サーバーとバンドルされた native-runtime-debug スキルが表示されるはずです。
GitHub リリースのアーカイブは自己完結型です。ランタイムの 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 |
|
npm からの Qwen Code |
|
npm |
|
公式 MCP レジストリ |
|
GitHub リリース | 自己完結型拡張機能アーカイブ |
デバッガーアダプタ
CodeLLDB とアップストリームの LLVM lldb-dap はどちらもファーストクラスのアダプタ経路です。既存の CodeLLDB ワークフローは引き続きサポートされます。LLVM 自体が提供するデバッガーアダプタを使用したい場合は、debug_this_crash(mode="lldb-dap") を使用してください。lldb-dap 経路は、ライブの起動・アタッチに加え、dumpAdapter="lldb-dap" による読み取り専用のコアファイル解析をサポートします。
検出は、明示的な adapterPath、LLDB_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
}
)最初の呼び出しは、明示的なシリアライズ可能な状態、依存関係を考慮した nextActions、ルートおよびアクティブなクラッシュフィンガープリント、制限付きの履歴、ランタイムのバックトラッキング証拠、検証品質、停止・継続ステータスを含む workflow.autonomousAgent を返します。
サーバーは隠れた自律ループのメモリを保持しません。Qwen Code は、要求されたソース編集、ビルド、テスト、ソース管理操作を、通常の承認済みツールを通じて実行します。
自律ステータス
ステータス | 意味 |
| まだパッチを適用しないでください。より強力なプロジェクト・呼び出し元の証拠を収集してください |
| 証拠は最初の制限付きソース修正に十分な強さがあります |
| 同じアクティブなクラッシュが継続しています。修正を改訂してください |
| 検証が早すぎる段階で停止しました。元の再現を完了してください |
| 別のクラッシュが発生しました。ルートフィンガープリントを保持し、ベースラインを取り直してください |
| 完全な再現がクリーンに終了しました |
| 自動修正の最大試行回数に達しました |
| 別の自律編集のための信頼できる証拠がありません |
インテリジェント診断
診断レイヤーは、生のデバッガー事実と推論を分離して報告します:
classification— 現在のクラッシュ・停止ファミリfaultLocation— 文字通りのデバッガー停止フレームprojectFrame— 最初のアプリケーション管理と思われるフレームframeSelection— スコア化されたスタックフレーム証拠とランタイム・システム除外operandAnalysis— 命令オペランド、参照されるレジスタ、メモリオペランド、レジスタ↔ローカル変数のバインディングcallChain— プロジェクトの呼び出し元、ランタイム境界、繰り返しフレーム、発生源の手がかりhypotheses— 明示的な信頼度付きのランク付けされた説明fixWorkflow— 候補のソース位置と、証拠に裏付けられた限定的な修正方向verificationBaseline— コンパクトな障害シグネチャrootCauseBacktrack— 生成元候補へ向かう制限付きのランタイム由来追跡verificationQuality— 検証後のデバッガー証拠の強さ
プロジェクトフレームのスコアが高いことは「プロジェクトコードである可能性が高い」ことを意味し、「根本原因が証明された」ことを意味しません。因果関係の主張は、例外状態、オペランド・レジスタ・ローカル変数、呼び出し元の由来、ソースの確認、再現に結び付ける必要があります。
クラッシュダンプ / ミニダンプ
既存のダンプを 1 つの高レベル呼び出しで開いて診断:
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 ツールセットは、コーディングエージェントが低レベルのデバッガープリミティブすべてにコンテキストを費やさないよう、意図的に以下の 9 つの高レベルツールのみを公開します。完全な手動 DAP サーフェスを意図的に必要とする場合は、QWEN_DAP_MCP_TOOLSET=full を設定してください。docs/toolsets.md を参照してください。
デフォルトの agent ツール
ツール | 目的 |
| 高レベルのライブ / CodeLLDB / lldb-dap / ダンプ診断、検証、および自律オーケストレーション |
| 現在の停止状態のインテリジェント診断 |
| 障害相関と、プロジェクトフレームの命令・オペランド・レジスタ・ローカル変数のコンテキスト |
| 起動・アタッチと、停止・終了・強制終了までのレースセーフな待機 |
| 読み取り専用の事後検査用にネイティブコア / ミニダンプを開く |
| 制限付きの生のランタイムスナップショットをキャプチャ |
| 現在のセッションステータスを読み取る |
| 承認済みのライブターゲットを次の停止まで再開 |
| デバッガーセッションを切断して破棄 |
full ツールセットはさらに、手動のブレークポイント・ウォッチポイント管理、ステップ実行、評価、スレッド・スタック・スコープ・変数、モジュール、逆アセンブル、制限付きメモリ読み取り、例外制御、汎用 DAP の起動・アタッチ、および CodeLLDB / lldb-dap のライフサイクルプリミティブを公開します。
検証モデル
検証は、デバッガーの証拠を、ビルド成功、プロジェクトテスト、正確な再現入力などの外部保証から意図的に分離します。
判定:
fixed— 完全な再現がクリーンで成功した最終結果に到達not-fixed— 同じクラッシュファミリ・シグネチャが再現されたchanged-failure— 実行は依然としてクラッシュしたが、アクティブな障害シグネチャが変化したinconclusive— 成功または失敗を主張するのに十分な証拠がない
ブレークポイント、エントリ停止、一時停止、ステップ、または設定済み・ファーストチャンス例外停止は、意図的に修正の証明ではありません。
実際の Windows での検証
リポジトリには、Windows 上での実際の CodeLLDB スモークワークフローが含まれています。ミニダンプのスモークパス:
PDB シンボル付きで MSVC C++ クラッシュターゲットをコンパイルし、
意図的にアクセス違反を発生させ、
MiniDumpWriteDumpで実際の.dmpを書き出し、実際の 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 プリミティブなし
外部証拠なしでの自動ソースロールバックなし
ライブアタッチは承認済みのローカルターゲットのみを対象
事後デバッグ用ダンプは実行制御操作に対して凍結
決定論的な停止条件を備えた制限付きの自律修正予算
弱い・判定不能な証拠は追加のソース編集をトリガーしない
ファーストチャンス・設定済み例外停止は自動的に致命的とはみなされない
コントリビューション
Issue とプルリクエストを歓迎します。開発ガイダンスについては 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