mcpField
M
MCP JS Debugger

MCP JS Debugger

ローカル
github.com/johngrimes開発ツール249 週間前に更新

MCP JS Debugger について

MCP JS Debugger は、JavaScript と TypeScript 開発者向けのデバッグサーバーです。CDP 対応のデバッグ対象を操作し、ソースマップで元のコード位置を特定できます。

主な機能

  1. 01CDP 対応ターゲットへの接続
  2. 02ブレークポイントの設定・一覧・削除
  3. 03ステップ実行と一時停止
  4. 04コールスタックとスコープ変数の確認
  5. 05式の評価と変数の変更
  6. 06生成コードから元ソース位置へのマッピング

活用シーン

  1. 01Node.js アプリの実行時問題を調査
  2. 02Chrome や Edge でブレークポイントを確認
  3. 03変換後の TypeScript コードの問題を追跡

MCP 対応

MCP サーバーは、ブレークポイント、実行制御、コールスタック、式の評価、変数操作などの CDP デバッグ機能をツールとして MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"js-debugger": {
"command": "npx",
"args": [
"-y",
"mcp-js-debugger"
]
}
}
}
起動コマンドnpx -y mcp-js-debugger

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-js-debugger

ツール

18

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
websocket_urlstringはいCDP エンドポイントの WebSocket URL。Node.js の場合は通常 ws://localhost:9229/{uuid} です。Chrome の場合は ws://localhost:9222/devtools/page/{pageId} を使用します。利用可能なターゲットは http://localhost:9229/json(Node.js)または http://localhost:9222/json(Chrome)にアクセスして確認できます。
session_namestringいいえこのデバッグセッションの任意の人間が読める名前です。複数のセッションを同時に管理する際に便利です。

詳細

MCP JS デバッガー

Chrome DevTools Protocol のデバッグ機能を公開する MCP(Model Context Protocol)サーバーです。AI アシスタントが JavaScript および TypeScript アプリケーションをデバッグできるようにします。

機能

  • CDP 互換のデバッガー(Node.js、Chrome、Edge)に接続
  • ブレークポイントの設定、一覧表示、削除
  • コードのステップ実行(オーバー、イン、アウト)
  • ソースマップ対応のコールスタックの検査
  • 任意のスタックフレームで式を評価
  • 変数の表示と変更
  • 例外発生時に一時停止
  • トランスパイルされたコードのデバッグに対応する完全なソースマップサポート

インストール

npm install
npm run build
Claude Code の統合

Claude Code の設定に追加します。

claude mcp add mcp-js-debugger -- npx mcp-js-debugger

または、.mcp.json に追加します。

{
  "mcpServers": {
    "mcp-js-debugger": {
      "command": "npx",
      "args": ["mcp-js-debugger"]
    }
  }
}

使い方

デバッグ対象の起動

インスペクターを使って Node.js アプリケーションを起動します。

# Pause on first line (recommended for setting initial breakpoints)
node --inspect-brk=9229 your-script.js

# Or start without pausing
node --inspect=9229 your-script.js
利用可能なツール
ツール説明
connect_debuggerWebSocket URL を使って CDP エンドポイントに接続
disconnect_debuggerデバッグセッションから切断
set_breakpointURL と行番号を指定してブレークポイントを設定
remove_breakpointID を指定してブレークポイントを削除
list_breakpointsセッション内のすべてのブレークポイントを一覧表示
resume_execution一時停止後に実行を再開
step_over現在の文をステップオーバー
step_into関数呼び出しにステップイン
step_out現在の関数からステップアウト
pause_execution実行中の処理を一時停止
get_call_stackソース位置を含む現在のコールスタックを取得
evaluate_expressionJavaScript 式を評価
get_scope_variablesスコープ内の変数を取得
set_variable_value変数の値を変更
set_pause_on_exceptions例外処理を設定
get_original_location生成されたソース位置を元のソース位置に対応付け
get_script_sourceスクリプトのソースコードを取得
list_scripts読み込まれたスクリプトを一覧表示
ワークフローの例
  1. --inspect-brk を指定してアプリケーションを起動します。

    node --inspect-brk=9229 app.js
    
  2. WebSocket URL を取得します。

    curl http://localhost:9229/json
    
  3. デバッガーに接続します。

    connect_debugger(websocket_url: "ws://localhost:9229/<id>")
    
  4. ブレークポイントを設定します。

    set_breakpoint(session_id: "...", url: "file:///path/to/app.js", line_number: 10)
    
  5. ブレークポイントに到達するよう実行を再開します。

    resume_execution(session_id: "...")
    
  6. 一時停止中に状態を確認します。

    get_call_stack(session_id: "...")
    get_scope_variables(session_id: "...", call_frame_id: "...", scope_index: 0)
    evaluate_expression(session_id: "...", expression: "myVariable")
    
  7. デバッグを続行します。

    step_over(session_id: "...")
    resume_execution(session_id: "...")
    

ソースマップのサポート

サーバーは、トランスパイルされたコード(TypeScript、バンドルされた JavaScript など)のソースマップを自動的に読み込みます。ソースマップが利用可能な場合は、次の操作ができます。

  • コールスタックに元のソース位置が表示されます
  • 元のソースファイルにブレークポイントを設定できます
  • get_original_location で、生成された位置を元のソース位置に対応付けます
  • get_script_source で、元のソースの内容を返せます

開発

# Build
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Watch mode for development
npm run dev

アーキテクチャ

  • cdp-client.ts - 低レベルの Chrome DevTools Protocol クライアントラッパー
  • session-manager.ts - 複数のデバッグセッションを管理
  • source-map-manager.ts - ソースマップの読み込みと位置のマッピングを処理
  • server.ts - ツールハンドラーを備えた MCP サーバーの実装
  • types.ts - TypeScript の型定義

要件

  • Node.js 18.0.0 以降
  • CDP 互換のデバッグ対象(Node.js、Chrome、Edge など)

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。