原文(日本語に翻訳)
存在しないサーバー名を指定した場合に /mcp reconnect コマンドがCLIをフリーズさせる問題を修正しました。
原文(英語)
Fixed /mcp reconnect freezing the CLI when given a server name that doesn't exist
概要
/mcp reconnect <サーバー名> コマンドに存在しないMCPサーバー名を指定した場合、Claude CodeのCLIがフリーズ(応答不能)してしまう問題が修正されました。修正後は存在しないサーバー名を指定した際に適切なエラーメッセージが表示され、CLIは正常に動作し続けます。
基本的な使い方
/mcp reconnect コマンドで既存のMCPサーバーに再接続できます。
bash
# MCPサーバーの一覧確認
/mcp
# 特定のMCPサーバーに再接続
/mcp reconnect my-mcp-server
# 存在しないサーバー名を指定(修正前: フリーズ、修正後: エラーメッセージ)
/mcp reconnect non-existent-server
# → エラー: サーバー "non-existent-server" が見つかりません実践例
ユースケース1: MCPサーバーの接続問題のトラブルシューティング
MCPサーバーへの接続が切れた場合の対処法。
bash
# MCPサーバーの状態確認
/mcp
# リストにある接続済みサーバー:
# - filesystem-server (connected)
# - github-server (disconnected)
# 接続が切れたサーバーに再接続
/mcp reconnect github-server
# サーバー名を間違えた場合(修正後は安全)
/mcp reconnect githb-server # タイポ
# → エラーメッセージが表示され、CLIは正常動作を継続ユースケース2: MCP設定変更後の再接続
MCPサーバーの設定を変更した後に再接続する場合。
bash
# MCPサーバー設定を変更
# ~/.claude/settings.json または .claude/settings.local.json を編集
# 設定変更後に再接続
/mcp reconnect filesystem-server
# 設定ファイルのサーバー名と一致しない名前を指定しても安全
/mcp reconnect old-server-name
# → エラーメッセージ(フリーズなし)ユースケース3: 自動化スクリプトでの安全なMCP操作
スクリプトからMCP再接続を行う場合、存在しないサーバーでもクラッシュしなくなりました。
bash
#!/bin/bash
# mcp-reconnect-all.sh - すべてのMCPサーバーに再接続を試みる
MCP_SERVERS=("filesystem-server" "github-server" "custom-server")
for server in "${MCP_SERVERS[@]}"; do
echo "Attempting to reconnect: $server"
# 修正前: 存在しないサーバーでフリーズ
# 修正後: エラーメッセージを表示して次のサーバーへ
claude -p "/mcp reconnect $server" || echo "Failed to reconnect $server"
done注意点
- この修正はCLIのフリーズを防ぐものです。サーバー名は正確に指定する必要があります。
/mcpコマンドで現在設定されているMCPサーバーの一覧を確認できます。- MCPサーバー名は大文字・小文字を区別する場合があります。設定ファイルの名前と完全に一致させてください。
- CLIがフリーズした場合は
Ctrl+Cで中断できます(修正前のバージョン)。修正後はそのような対処は不要です。