Node.jsで自作したMCPサーバーをClaude Desktopへつないだ時、「ツールが表示されない」「実行すると失敗する」となった場合、原因は大きく二つに分かれます。サーバーの実装・起動コマンドに問題があるのか、Claude Desktopの設定・統合に問題があるのかです。
この二つを一度に調べようとすると、設定JSON、再起動、AIによるツール選択など、確認対象が増えてしまいます。そこで役立つのが、公式の開発者向けテストツールであるMCP Inspectorです。
この記事では、WindowsでClaude Desktop向けの自作MCPサーバーを作った人に向けて、MCP Inspectorが必要になる場面、既存のgreetサーバーを使う最小の起動方法、Claude Desktopとの使い分けを整理します。Inspectorは日常業務で使うためのクライアントではなく、自作サーバーを先に単体テストするための道具として理解すると役割が明確です。
この記事の結論
- MCP Inspectorは、MCPサーバーをテスト・デバッグするための公式の開発者ツールです。[1]
- 自作サーバーをClaude Desktopへ登録する前に、ツール名、入力項目、戻り値、stderrの診断情報を直接確認できます。[1] [2]
- Inspectorで成功しClaude Desktopで失敗するなら、疑う範囲を設定JSON、パス、再起動、クライアント側の統合へ絞れます。
- 現行のInspectorはNode.js 22.19.0以上を必要とします。既存のMCPサーバーがNode.js 20以上で動いていても、Inspectorを使う前に別途バージョン確認が必要です。[1]
- 既存のMCPをClaude Desktopで使うだけなら、Inspectorは必須ではありません。自作サーバーを作る時・直す時に使います。
MCP Inspectorは、何のために使うのか
Claude Desktopは、完成したMCPサーバーを実際の会話で使うクライアントです。一方でMCP Inspectorは、サーバーが公開しているツールや入力スキーマを確認し、入力値を直接渡して結果を確認するためのテスト用クライアントです。Web画面では、Servers、Tools、Protocol、Consoleなどの画面を使い、接続・ツール実行・通信・標準エラーを分けて確認できます。[1] [2]
| 確認したいこと | Claude Desktopで確認する場合 | Inspectorで確認する場合 |
|---|---|---|
| サーバーが起動するか | 設定JSON、アプリ再起動、Connectors表示など複数の要因が混ざる | サーバーの起動コマンドを直接指定して確認する |
| ツール名と入力項目 | Claudeがツールを選ばないと、表示や入力仕様を確認しにくい | Tools画面でツールの説明と入力フォームを確認する |
| 入力と戻り値 | 自然言語による依頼とAIの解釈が加わる | フォームへ値を直接入力して、ツールの戻り値を確認する |
| 失敗原因 | 設定・クライアント・サーバー実装のどこに原因があるか広い | ConsoleのstderrとProtocolの記録を使い、サーバー単体の問題を先に確認する |
つまりInspectorは、「Claude Desktopの代わり」ではありません。自作MCPサーバーをClaude Desktopへ統合する前に、サーバー単体が正しいかを確認するテスターです。
Inspectorが必要な人・今は不要な人
| 状況 | Inspectorの必要性 | 理由 |
|---|---|---|
| 公式・既製のMCPをClaude Desktopで使うだけ | 低い | Claude Desktopで問題なく使えるなら、通常はInspectorを開く必要はありません。 |
| Node.jsなどで自作MCPサーバーを初めて作った | 高い | ツール公開、入力、戻り値という基本構造を、安全なテストデータで直接確認できます。 |
| 自作ツールを増やした、入力が複雑になった | 高い | 各ツールの入力スキーマと結果を1つずつ確認でき、回帰の確認にも使えます。 |
| Inspectorでは成功するがClaude Desktopで失敗する | とても高い | サーバー実装より、設定JSON、絶対パス、再起動、クライアントログへ確認対象を絞れます。 |
| 日常の業務でMCPを利用する | 不要 | 日常利用はClaude Desktopや承認済みの業務クライアントで行います。 |
会社PCで試す場合も、まず会社のルールと承認範囲を確認してください。Inspectorはローカルでサーバープロセスを起動できる開発者向けツールです。会社データ、認証情報、広いフォルダ権限をいきなり渡さず、個人PCのテストフォルダと架空データから始めます。安全確認の順序は、会社PCでMCPを安全に試すチェックリストも参照してください。
Inspectorを使うと、どこまで切り分けられるか
たとえば、既存の最小サンプルはgreetというツールを公開しています。nameを受け取り、こんにちは、名前さん。という文字列を返すだけです。しかし、この小さなツールには、実務用ツールにも共通する要素が含まれています。
greetで確認する要素 | 将来の実務用ツールでは何に変わるか |
|---|---|
ツール名 greet | check_service_status、read_change_recordなど、用途が分かるツール名 |
入力 name | サービス名、対象フォルダ、期間など、必要な入力項目 |
| 入力チェック | 空欄、許可されない値、対象範囲外の操作を受け付けないための確認 |
| 戻り値 | 状態、一覧、エラー理由など、Claudeへ返す結果 |
greetは業務を時短するためのツールではありません。自作MCPの接続・入力・戻り値という骨組みを、業務データや管理操作なしで学ぶための安全な練習問題です。
WindowsでInspectorを起動する前の確認
現行のMCP InspectorはNode.js 22.19.0以上を前提としています。まずPowerShellでバージョンを確認してください。[1]
node --version
npx --version
Node.jsのバージョンが22.19.0未満の場合は、Inspectorの現行版をそのまま使える前提で進めないでください。会社PCでは、管理者権限でのインストールやNode.jsの更新が許可されているかを先に確認します。既存の自作MCPサーバーの記事で使ったNode.jsの要件と、Inspectorの要件は別です。
今回のgreetサーバーを使うなら、server.mjsがあるフォルダへ移動してから、次の形で起動します。パスは自分の環境に合わせて置き換えてください。
cd C:\Users\<ユーザー名>\Documents\node_mcp_hello_validation
npx @modelcontextprotocol/inspector node server.mjs
公式ドキュメントでは、Inspectorは起動時に一時的なセッショントークンを含むURLを出力すると説明されています。ターミナルへ表示されたURLをブラウザで開き、localhostのURLを記憶だけで入力しないでください。[2]
greetサーバーで確認する最小シナリオ
起動したInspectorのWeb画面では、次の4点を順に確認します。ここでは「どんな画面が必ず出る」と断定せず、公式のWeb画面の役割と、既存greetサーバーの定義をもとにした検証シナリオとして示します。
- Serversで、
node server.mjsとして起動したサーバーが接続できているかを確認します。 - Toolsで、
greetが表示され、説明とname入力欄が確認できるかを見ます。 nameへコシと入力して実行します。サンプルの実装どおりなら、こんにちは、コシさん。が戻る想定です。- 問題がある場合は、Consoleでサーバーがstderrへ出した診断情報、Protocolでリクエストとレスポンスの流れを確認します。[2]
stdio方式のMCPサーバーでは、stdoutはプロトコル通信に使われます。診断ログを出す時はconsole.log()ではなく、console.error()のようにstderrへ出します。stdoutへ余分な文字列を出すと、MCPプロトコルを妨げる可能性があります。[3]
// 避ける:stdoutを使うため、stdioのMCP通信を壊し得る
console.log('server started');
// 使う:stderrへ診断情報を出す
console.error('[greet] server started');
InspectorとClaude Desktopの確認順
Inspectorでgreetが成功した後に、Claude Desktopの設定へ進みます。Inspectorで成功しているなら、少なくとも起動コマンド、ツール公開、入力、戻り値というサーバー単体の基本確認は通っています。Claude Desktopでだけ失敗した場合は、claude_desktop_config.json、絶対パス、アプリの完全再起動、mcp.logを中心に確認します。
逆にInspectorでも失敗するなら、Claude Desktopの設定を何度も変える前に、自作サーバーの起動コマンド、Node.js、引数、依存関係、stderrを確認します。ログの読み方は、Claude DesktopのMCPログを読む方法を参照してください。
共同検証で追記する一次情報
この記事の技術的な位置付け、Node.js要件、Web画面の機能、起動方法は公式資料で確認しています。一方で、Windows実機でのInspector画面とgreetの実行結果は、個人PC・架空データだけを使った共同検証後に追記します。
| 追記する内容 | 記事に使う目的 |
|---|---|
| 起動時のPowerShell画面 | 実際にどのコマンドで起動したかを示す |
Toolsでgreetを開いた画面 | ツール名とname入力欄を確認できることを示す |
コシを渡した実行結果 | サーバー単体テストの実測結果として示す |
| 意図的な起動失敗時のConsoleまたはstderr | どこを見て切り分けるかを具体化する |
この検証では、会社PC、会社データ、APIキー、認証情報は使いません。ログや画面を外部へ共有する前には、ユーザー名、フルパス、トークン、業務情報が含まれていないかを確認します。
まとめ:Inspectorは自作MCPの「先行テスト」に使う
MCP Inspectorの価値は、AIとの会話を便利にすることではありません。自作したMCPサーバーが、Claude Desktopへ登録する前の段階で正しく起動し、ツールを公開し、入力を受け取り、結果を返せるかを確認することです。
最初はgreetのような小さなツールで十分です。Inspectorで成功し、次にClaude Desktopでも成功する、という順で確認すれば、問題が出た時に疑う場所を絞れます。完成したMCPを日常的に使うのはClaude Desktop、作る・直す時に使うのがInspector、と役割を分けましょう。
関連する記事
- MCPとは?Claude Desktopでできること・できないこと・安全な試し方
- Node.jsで最小のMCPサーバーを作る方法|Claude Desktopで自作ツールを動かす
- Claude DesktopのMCPが接続できない時の確認順|ログ・設定・権限の切り分け
- Claude DesktopのMCPログを読む方法|mcp.logとサーバーログの見分け方
- 会社PCでMCPを安全に試すチェックリスト|接続前に確認する7項目

コメント