Skip to content

原文(日本語に翻訳)

存在しないサーバー名を指定した場合に /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 で中断できます(修正前のバージョン)。修正後はそのような対処は不要です。

関連情報