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/ にインストール)で、より高度なワークフロー(デバッグ開始のタイミング、調査方法、言語固有のヒント)を含みます。

仕組み(概要)

  1. サーバー起動 – 拡張機能がアクティブ化される(またはCLIが実行される)と、ループバックインターフェースにバインドされたHTTP MCPサーバーが起動します。
  2. ツール登録 – サーバーは一連のツール(例:start_debugging、add_breakpoint、evaluate_expression)をアドバタイズします。各ツールには、必要なパラメーターを記述したJSONスキーマがあります。
  3. エージェント呼び出し – MCPをサポートするAIアシスタントが {"tool":"add_breakpoint","params":{"fileFullPath":"/src/app.py","line":42}} のようなリクエストを送信します。
  4. アクション実行 – DebugMCPはリクエストをVS Codeの組み込みDebug Adapter(またはCLI使用時はスタンドアロンのDAPアダプター)に転送し、結果をエージェントに返します。
  5. スキルガイダンス – オプションの debug-live スキルをエージェントが呼び出すことで、ステップバイステップのデバッグ計画を取得し、体系的な根本原因分析を確実に行えます。

クイックスタート (VS Code)

  1. VS Code Marketplaceから DebugMCP をインストールします(または vscode: リンクを使用)。
  2. プロジェクトを開き、コマンドパレットから DebugMCP: Show Agent Selection Popup を実行します。
  3. 有効にしたいAIアシスタント(例:Copilot、Claude Code)を選択します。
  4. アシスタントにファイルやテストのデバッグを依頼すると、自動的に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アシスタントを登録し、モデルに人間と同じようにコードをデバッグさせましょう。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト