microsoft/DebugMCP
Gift your VS Code agent a real debugger: breakpoints, stepping, inspection.
DebugMCP – AIエージェントにVS Codeデバッガーを制御させる
概要 – DebugMCPは、Microsoftが管理するVS Code拡張機能(および付属のCLI)であり、ローカルで小規模な MCP (Multi-Chat-Protocol) サーバーを実行します。このサーバーは、VS Codeのすべてのデバッグ操作(開始/停止、ステップ実行、ブレークポイント、変数検査、式評価など)を MCPツールとして公開します。GitHub Copilot、Claude Code、Codex、Cursor、Clineなど、MCPを理解するAIコーディングアシスタントであれば、これらのツールを呼び出して、人間がログを解析するプロンプトを書く必要なく、人間と全く同じ方法でプログラムをデバッグできます。
重要性 – 現代のAIペアプログラマーは修正案を提示できますが、実行中のデバッガーへの直接的なアクセス権が不足しています。DebugMCPはそのギャップを埋め、エージェントに以下の能力を提供します:
- ファイルやテストのデバッグセッションの開始
- ブレークポイント(条件付きを含む)およびログポイントの設定
- 実行中のプロセスの即時一時停止
- ステップオーバー/イン/アウト、継続、再起動、停止
- 変数名と値のクエリ
- 現在のデバッグコンテキストでの任意の式の評価
これらすべてがローカルで行われ、ネットワークトラフィックや認証情報は不要であり、強力なデバッガーのプリミティブを安全に保ちます。
主要コンポーネント
| コンポーネント | 機能 |
|---|---|
| VS Code拡張機能 | http://localhost:3001/mcp でMCPサーバーを起動し、ツールを登録し、サポートされているAIアシスタントに自動登録します。 |
| DebugMCP CLI (npmパッケージ) | VS Codeなしで同じMCPサーバーを提供します。stdio経由で通信するあらゆるDebug Adapter Protocol (DAP) アダプターと直接通信するため、ヘッドレスCIやリモートコンテナで使用可能です。 |
debug-live エージェントスキル |
再利用可能なスキルパッケージ(~/.agents/skills/ または ~/.copilot/skills/ にインストール)で、より高度なワークフロー(デバッグ開始のタイミング、調査方法、言語固有のヒント)を含みます。 |
仕組み(概要)
- サーバー起動 – 拡張機能がアクティブ化される(またはCLIが実行される)と、ループバックインターフェースにバインドされたHTTP MCPサーバーが起動します。
- ツール登録 – サーバーは一連のツール(例:
start_debugging、add_breakpoint、evaluate_expression)をアドバタイズします。各ツールには、必要なパラメーターを記述したJSONスキーマがあります。 - エージェント呼び出し – MCPをサポートするAIアシスタントが
{"tool":"add_breakpoint","params":{"fileFullPath":"/src/app.py","line":42}}のようなリクエストを送信します。 - アクション実行 – DebugMCPはリクエストをVS Codeの組み込みDebug Adapter(またはCLI使用時はスタンドアロンのDAPアダプター)に転送し、結果をエージェントに返します。
- スキルガイダンス – オプションの
debug-liveスキルをエージェントが呼び出すことで、ステップバイステップのデバッグ計画を取得し、体系的な根本原因分析を確実に行えます。
クイックスタート (VS Code)
- VS Code Marketplaceから DebugMCP をインストールします(または
vscode:リンクを使用)。 - プロジェクトを開き、コマンドパレットから
DebugMCP: Show Agent Selection Popupを実行します。 - 有効にしたいAIアシスタント(例:Copilot、Claude Code)を選択します。
- アシスタントにファイルやテストのデバッグを依頼すると、自動的にMCPツールが呼び出されます。
クイックスタート (CLI)
npm install --global debugmcp # CLIのインストール
debugmcp configure --agent copilot-cli # 使用するエージェントの登録
# サーバーの起動(バックグラウンドで実行)
debugmcp start
これで、MCP互換のエージェントが http://localhost:3001/mcp と通信できるようになります。
サポートされている言語とアダプター
この拡張機能は、VS Codeの Debug Adapter Protocol 実装を持つあらゆる言語で動作します。標準でPython、JavaScript/TypeScript、Java、C/C++、Go、Rust、PHP、Ruby、C#/.NETをサポートしています。CLIは、stdio経由で通信するあらゆるDAPアダプター(例:Pythonの debugpy、C/C++の lldb-vscode、Javaの java-debug)を指定できます。
セキュリティモデル
- サーバーはデフォルトで
127.0.0.1および::1にのみバインドされます。認証はありませんが、ネットワークからは到達できません。 debugmcp.bindHostをループバック以外のIPに変更することも可能ですが(コンテナ転送に便利)、そのアドレスに到達できるすべてのユーザーにデバッガーが公開されます。- すべてのリクエストは検証され、不正な形式や範囲外の操作は拒否されます。
対象ユーザー
- AIペアプログラマーに依存しており、アシスタントに実際にコードをステップ実行させたい開発者。
- 決定論的なデバッグ機能を必要とするカスタムAIエージェントを構築するチーム。
- 自律的なコード修正や自己デバッグを行うLLMを研究している研究者。
詳細情報
- GitHubリポジトリ – https://github.com/microsoft/DebugMCP (Issue、ソースコード、貢献ガイド)
- VS Code Marketplace – VS Codeから直接インストール。
- npmパッケージ –
npm install -g debugmcp(CLI用) - デモGIF – AIアシスタントがブレークポイントを設定し、変数を検査する様子。
要約
DebugMCPは、VS CodeデバッガーをAIエージェントがプログラムから呼び出せる MCP公開サービスに変えます。VS Code拡張機能としてもヘッドレスCLIとしても動作し、DAPアダプターを持つ主要な言語をすべてサポートし、体系的なデバッグをガイドする再利用可能な debug-live スキルが付属しています。インストールしてAIアシスタントを登録し、モデルに人間と同じようにコードをデバッグさせましょう。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト