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

または、公開済みのスコープ付き npm 拡張機能をインストール:

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

次に、拡張機能と MCP サーバーを確認:

/mcp
/skills

qwen-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

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 レジストリ

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

GitHub リリース

自己完結型拡張機能アーカイブ

デバッガーアダプタ

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

最初の呼び出しは、明示的なシリアライズ可能な状態、依存関係を考慮した nextActions、ルートおよびアクティブなクラッシュフィンガープリント、制限付きの履歴、ランタイムのバックトラッキング証拠、検証品質、停止・継続ステータスを含む workflow.autonomousAgent を返します。

サーバーは隠れた自律ループのメモリを保持しません。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 — 検証後のデバッガー証拠の強さ

プロジェクトフレームのスコアが高いことは「プロジェクトコードである可能性が高い」ことを意味し、「根本原因が証明された」ことを意味しません。因果関係の主張は、例外状態、オペランド・レジスタ・ローカル変数、呼び出し元の由来、ソースの確認、再現に結び付ける必要があります。

クラッシュダンプ / ミニダンプ

既存のダンプを 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 file

MCP サーバーには HTTP リスナーはありません。アダプタはシェルなしでローカルにスパウンされ、stdio 経由で通信します。

MCP ツールセット

デフォルトの agent ツールセットは、コーディングエージェントが低レベルのデバッガープリミティブすべてにコンテキストを費やさないよう、意図的に以下の 9 つの高レベルツールのみを公開します。完全な手動 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

読み取り専用の事後検査用にネイティブコア / ミニダンプを開く

debug_snapshot

制限付きの生のランタイムスナップショットをキャプチャ

debug_status

現在のセッションステータスを読み取る

debug_continue

承認済みのライブターゲットを次の停止まで再開

debug_disconnect

デバッガーセッションを切断して破棄

full ツールセットはさらに、手動のブレークポイント・ウォッチポイント管理、ステップ実行、評価、スレッド・スタック・スコープ・変数、モジュール、逆アセンブル、制限付きメモリ読み取り、例外制御、汎用 DAP の起動・アタッチ、および CodeLLDB / lldb-dap のライフサイクルプリミティブを公開します。

検証モデル

検証は、デバッガーの証拠を、ビルド成功、プロジェクトテスト、正確な再現入力などの外部保証から意図的に分離します。

判定:

  • fixed — 完全な再現がクリーンで成功した最終結果に到達

  • not-fixed — 同じクラッシュファミリ・シグネチャが再現された

  • changed-failure — 実行は依然としてクラッシュしたが、アクティブな障害シグネチャが変化した

  • inconclusive — 成功または失敗を主張するのに十分な証拠がない

ブレークポイント、エントリ停止、一時停止、ステップ、または設定済み・ファーストチャンス例外停止は、意図的に修正の証明ではありません

実際の Windows での検証

リポジトリには、Windows 上での実際の CodeLLDB スモークワークフローが含まれています。ミニダンプのスモークパス:

  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 デバッガーサービスなし

  • 任意のシェル・ソース書き込み MCP プリミティブなし

  • 任意のメモリ書き込み MCP プリミティブなし

  • 外部証拠なしでの自動ソースロールバックなし

  • ライブアタッチは承認済みのローカルターゲットのみを対象

  • 事後デバッグ用ダンプは実行制御操作に対して凍結

  • 決定論的な停止条件を備えた制限付きの自律修正予算

  • 弱い・判定不能な証拠は追加のソース編集をトリガーしない

  • ファーストチャンス・設定済み例外停止は自動的に致命的とはみなされない

コントリビューション

Issue とプルリクエストを歓迎します。開発ガイダンスについては 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