MCP Inspector - Model Context Protocol サーバー デバッグ チートシート
MCP Inspectorは Model Context Protocol サーバーの公式ビジュアル テスト および デバッグ ツール。MCPサーバーを構築している場合、実際に何を公開しており、どのように応答するかを知る必要がある — Inspectorはサーバーに接続し、そのツール、リソース、プロンプトをリスト表示し、任意の引数で各ツールを呼び出すことができ、両方向に流れるJSON-RPC メッセージを表示する。これはサーバーが Claude、Cursor、またはその他のクライアントに配線される前に動作することを確認する最速の方法。
実行
| 方法 | コマンド |
|---|
| npx (インストール不要) | npx @modelcontextprotocol/inspector |
| サーバーを使用 | npx @modelcontextprotocol/inspector node build/index.js |
| Python サーバー | npx @modelcontextprotocol/inspector uv run server.py |
| リモート/SSE サーバー | 起動し、UIにURLを入力 |
| UI | ブラウザで開く (デフォルト http://localhost:6274) |
接続タイプ
| トランスポート | 用途 |
|---|
| STDIO | サブプロセスとして実行されるローカル サーバー (最も一般的) |
| SSE | Server-Sent Events 経由のリモート サーバー |
| ストリーム化可能 HTTP | モダン リモート トランスポート |
# ローカル stdio サーバーを検査し、引数と環境を渡す
npx @modelcontextprotocol/inspector \
-e API_KEY=abc123 \
node build/index.js --verbose
インターフェース
| タブ | 表示内容 |
|---|
| ツール | すべてのツール、その JSON スキーマ、呼び出すフォーム |
| リソース | 公開されるリソースとその内容 |
| プロンプト | プロンプト テンプレートと引数 |
| 通知 | サーバー開始メッセージ/ログ |
| 履歴 | すべてのリクエスト/レスポンス ペア |
ツールのテスト
| ステップ | アクション |
|---|
| 1 | ツールタブを開き、ツールがリストされていることを確認 |
| 2 | 入力スキーマが正しく (タイプ、必須フィールド) レンダリングされているかを確認 |
| 3 | 生成されたフォームに入力して呼び出しをクリック |
| 4 | 返された内容とisErrorフラグを検査 |
| 5 | 形状の問題をデバッグするために History の生JSON-RPC を読む |
このループは最も一般的なMCPバグを捕捉する:不正なスキーマ、間違ったコンテンツ形状を返すツール、または処理されないエラー。
出荷前に検証する内容
| チェック | 理由 |
|---|
| ツール名は一意/説明的 | クライアントがモデルに表示 |
| 説明はいつツールを使うかを説明 | 正しいモデル選択を駆動 |
| 入力スキーマは正確 | 不正な呼び出しを防ぐ |
エラーはisErrorとメッセージを返す | モデルが回復できる |
| 大きな出力はページネーション/切り詰め | コンテキスト ウィンドウのオーバーフロー回避 |
| リソースは安定したURI | クライアントは、キャッシュ/参照できる |
デバッグ ヒント
| 症状 | 確認内容 |
|---|
| サーバーが接続しない | コマンド/引数;起動ターミナルの stderr |
| ツールが見つからない | 登録コード;サーバーを再起動 |
| スキーマがおかしくレンダリング | ツール定義のJSON スキーマ タイプ |
| クライアント動作が異なる | History の生JSON-RPC を比較 |
| 環境依存バグ | -e KEY=valueで Inspectorを再起動 |
共通のワークフロー
# TypeScript MCP サーバーの開発とテストループ
npm run build && npx @modelcontextprotocol/inspector node build/index.js
# uv で Python サーバーをテスト
npx @modelcontextprotocol/inspector uv run my_server.py
# リモート SSE サーバーを実装に追加する前に検証
npx @modelcontextprotocol/inspector # SSE を選択し、URL を貼り付け
MCP Inspector vs 代替
| アプローチ | トレードオフ |
|---|
| MCP Inspector | 目的構築、ビジュアル、生プロトコルを表示 |
| 実際のクライアントにワイヤリング | リアルだが遅いフィードバック ループ |
| 手書きJSON-RPC | 完全制御、面倒 |
| ユニット テスト | 高速で再現可能;探索のため Inspector と組み合わせ |
ビルド中は Inspector を使用し、その後自動テストを追加する;MCPサーバーの実装パターンを参照。
リソース