Claude Code MCPはWindowsで起動するとすぐに切断されます。特にローカルMCPサーバーが「npx」で始まると、まず「cmd /c」ラッパーが抜けていないか確認してください。 Anthropicのドキュメントには、ネイティブWindowsではローカルMCPサーバーが「npx」を使う場合、通常は「cmd /c」で正しく実行する必要があると明確に警告されています。
まずWindowsかWSLかを決めてください
WSLでClaudeコードを動かしている場合は、LinuxパスとLinux Node環境でトラブルシューティングしてください。 焦点は「どのノード」と「どのnpm」がWSL内に位置しているかにあります。
ネイティブWindowsで動いている場合、問題はコマンド解析にある可能性があります。 多くのMCPの設定例では「npx server-name」と書かれており、Windowsで期待されるようにClaude Codeで直接実行できない場合があります。
設定の変更方法
コマンドを「npx」を直接呼び出すのを「cmd /c」で呼ぶように変えてください。 このアイデアは、Windowsコマンドインタプリタにnpxの検出と実行を任せることです。 具体的なフィールド名はMCPの設定形式によって異なりますが、コアはコマンドが「cmd」で、引数には「/c'、'npx'、サーバーパッケージ名が含まれます。
変更後はClaude Codeを再起動し、「/mcp」で接続状況を確認してください。 設定ファイルが保存されているかどうかだけでなく、サービスが本当に接続されているかどうかも確認してください。
これらの問題もトラブルシューティングしてください
ノードはインストールされておらず、npmはPATHに含まれていません。会社のエージェントがnpmを傍受し、MCPサーバーは環境変数を必要としますが渡さず、これらすべてが接続切断を引き起こします。 通常のターミナルで同じコマンドを手動で実行して起動可能か確認し、その後Claude Codeに渡します。
サーバーがAPIキーを必要とする場合は、チャットメッセージに鍵を書き込まず、環境変数かセキュリティ設定に入れるべきです。
最も安定したアプローチ
Windowsはネイティブに「cmd /c」をチェックし、WSLはLinuxノードパスを優先します。 その後、'/mcp'でステータスを確認し、通常のターミナルで起動コマンドを再現します。 「コマンドを実行できるか」と「Claude Codeが接続可能か」を別々にチェックすれば、MCPの切断はずっと簡単に解決できます。