/ ディレクトリ / プレイグラウンド / DebugMCP
● 公式 microsoft ⚡ 即起動

DebugMCP

作者 microsoft · microsoft/DebugMCP

MicrosoftのDebugMCPがClaudeにVS Codeデバッガーの完全な制御権を与えます — ブレークポイント、ステップ実行、9言語にわたる変数インスペクション。

DebugMCPはMicrosoftの公式VS Code拡張機能で、エディターのデバッガーをMCPツールとして公開します。AIアシスタントがデバッグセッションを自律的に起動し、行内容によるブレークポイントの設定(脆弱な行番号指定不要)、ステップ実行、変数インスペクションを実行できます。Python、TypeScript、Java、C#、C++、Go、Rust、PHP、Rubyに対応。ローカル専用で外部通信なし、ポート3001で動作します。

なぜ使うのか

主な機能

ライブデモ

実際の動作

debug-mcp-microsoft.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "debug-mcp-microsoft",
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "debug-mcp-microsoft": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-remote",
          "http://localhost:3001/mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add debug-mcp-microsoft -- npx -y mcp-remote http://localhost:3001/mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: DebugMCP

失敗したテストをprint文の代わりにClaudeにステップ実行させる

👤 バックエンド/アプリ開発者 ⏱ ~15 min beginner

使うタイミング: スタックトレースが不明確なテストが失敗している — printデバッグでは時間がかかりすぎる。

前提条件
  • VS CodeにDebugMCPをインストール — Marketplace → ozzafar.debugmcpextension
  • 言語デバッグ拡張機能(例:.py用Python) — VS Codeが初回実行時に自動で案内
フロー
  1. 設定
    Use debugmcp. Add a breakpoint on the line assert result == expected in tests/test_orders.py.✓ コピーしました
    → ブレークポイント設定完了;行内容でマッチ
  2. 実行
    Start debugging tests/test_orders.py with the failing test.✓ コピーしました
    → ブレークポイントでセッション停止
  3. インスペクション
    Show me all local variables. What's result actually contain?✓ コピーしました
    → 具体的な値を含む変数ダンプ
  4. ステップ実行と診断
    Step into the function that built result. Tell me where it diverged from expected.✓ コピーしました
    → コードに根拠のある根本原因

結果: 推測ではなくステップ実行でバグを特定 — 1時間ではなく数分で完了。

注意点
  • 行番号によるブレークポイントが編集後にズレる — 行内容マッチングを使用(DebugMCPがネイティブでサポート)
組み合わせ: filesystem

条件付きブレークポイントでハイゼンバグを特定する

👤 断続的なバグに直面している開発者 ⏱ ~25 min intermediate

使うタイミング: 特定の入力条件下でのみバグが再現される — その条件のときだけ停止させたい。

フロー
  1. 条件付きブレーク
    Add a breakpoint at the process(order) call that fires only when order.id starts with 'EXP-'.✓ コピーしました
    → 条件付きブレークポイントが設定される
  2. 再現を実行
    Run the integration suite. When we stop, evaluate the order DTO and the request headers.✓ コピーしました
    → 失敗する入力が正確にキャプチャされる

結果: ハイゼンバグが普通のバグになる。

注意点
  • 条件付き評価がループを遅くする — 条件を絞り込む;副作用のないピュアな条件を維持する

未知のコードのドキュメントとしてデバッガーを活用する

👤 サービスにオンボーディングする新メンバー ⏱ ~30 min beginner

使うタイミング: 引き継いだサービスのデータフローが不透明な場合。

フロー
  1. エントリーポイントをトレース
    Set a breakpoint at the HTTP handler for /orders. Run a sample request and step through every call until response is returned. Narrate as you go.✓ コピーしました
    → ファイル:行アノテーション付きのステップバイステップトレース

結果: どのダイアグラムも捉えられなかった、サービスの振る舞いマップ。

注意点
  • トレースが深くなりすぎる — 退屈なフレームにはstep_overを使い、興味深い箇所にのみstep_intoを使う

組み合わせ

他のMCPと組み合わせて10倍の力を

debug-mcp-microsoft + filesystem

ステップ実行中にソースを読み込んで次の行動を決める

Step into the call. While paused, show me the surrounding function via filesystem.✓ コピーしました
debug-mcp-microsoft + github

デバッガーで検証した修正をPRとしてオープンする

We confirmed the bug. Open a PR with the fix and reference the debug session in the description.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
start_debugging fileFullPath, workingDirectory, testName?, configurationName? デバッグセッションを開始するとき free
add_breakpoint fileFullPath, lineContent コード内容で停止ポイントを指定するとき free
step_over (なし) ソースの1行を進めるとき free
step_into (なし) 呼び出し先の関数に入るとき free
get_variables_values scope: 'local'|'global'|'all' 現在の一時停止ポイントでの状態を調べるとき free
evaluate_expression expression: str 再実行なしに仮説を検証するとき free
list_breakpoints (なし) 現在のブレークポイント設定を確認するとき free

コストと制限

運用コスト

APIクォータ
ローカル — クォータなし
呼び出しあたりのトークン
デバッグアクション1回あたり100〜500 token
金額
無料 (MIT)
ヒント
ステップ実行はprint-debug-loopの繰り返しより安価;tokenを使って素早く診断する

セキュリティ

権限、シークレット、影響範囲

最小スコープ: ソースマッピング用のローカルファイル読み取り
認証情報の保管: なし — 認証情報不要
データ送信先: なし — 完全ローカル
絶対に付与しない: ポート3001のネットワーク露出

トラブルシューティング

よくあるエラーと対処法

インストール後にMCPサーバーが検出されない

VS Codeを再起動;拡張機能が有効でポート3001が空いていることを確認

確認: curl http://localhost:3001/mcp
言語がサポートされていない

対応するVS Code言語デバッグ拡張機能を先にインストール(例:Python用ms-python.python)

確認: VS Code UIから手動でデバッグを実行して確認
ブレークポイントがヒットしない

ソースマップのミスマッチ — 編集したのと同じアーティファクトをデバッグしていることを確認

確認: launch.jsonの`program`パスを確認

代替案

DebugMCP 他との比較

代替案代わりに使う場面トレードオフ
print / logステートメントIDEを接続せずに素早く一時的に確認したい場合安価だがイテレーションが遅い;コードベースを汚染する
言語固有のREPLポストモーテムインスペクションのみが必要な場合ライブステッピングなし;フルデバッガーより機能が乏しい

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る