Skip to content

MCP再接続後にスピナーが残り続ける問題の修正

原文(日本語に翻訳)

MCP再接続スピナーが、再接続成功後も表示され続ける問題を修正

原文(英語)

Fixed MCP reconnect spinner persisting after successful reconnection

概要

MCPサーバーへの再接続処理中に表示されるスピナー(読み込みインジケーター)が、再接続が正常に完了した後も画面に残り続ける表示バグが修正されました。この問題により、MCPサーバーが正常に接続されているにもかかわらず、ユーザーにはまだ接続処理中であるかのように見えてしまう混乱が生じていました。

基本的な使い方

MCPサーバーが切断された場合、/mcp コマンドで再接続できます:

/mcp

接続状態の確認:

/mcp status

実践例

MCPサーバーの再接続フロー

MCPサーバーとの接続が切れた場合の典型的なフロー:

# 1. MCPサーバーが切断される
⚠ MCP server "context7" disconnected

# 2. /mcpコマンドで再接続
/mcp

# 3. 修正前の挙動
⟳ Reconnecting to MCP server "context7"...
✓ Connected(しかしスピナーが回り続ける)  ← バグ

# 4. 修正後の挙動(v2.1.76)
⟳ Reconnecting to MCP server "context7"...
✓ Connected to MCP server "context7"      ← スピナーが正しく停止

複数MCPサーバー環境での再接続

複数のMCPサーバーを使用している場合でも、各サーバーのスピナーが適切に管理されるようになりました:

# 複数サーバーの再接続
/mcp

⟳ Reconnecting to "context7"...
✓ Connected to "context7"          ← スピナー停止

⟳ Reconnecting to "recall"...
✓ Connected to "recall"            ← スピナー停止

All MCP servers connected.

SSH経由でのMCPサーバー利用

リモート環境でMCPサーバーを使用している場合、ネットワークの不安定さから再接続が頻繁に発生することがあります。スピナーが正しく表示されることで、接続状態を正確に把握できるようになりました:

bash
# SSH接続先でClaude Codeを使用
ssh dev-server
claude

# MCPサーバーの状態確認
/mcp status

# 出力例
MCP Servers:
 context7  - connected (5 tools)
 recall    - connected (2 tools)
 custom-db - disconnected

注意点

  • 表示のみの修正: この修正はUIの表示に関するバグフィックスであり、MCP接続の機能自体には変更ありません
  • 自動再接続: MCPサーバーが切断された場合、Claude Codeは自動的に再接続を試みます。手動での /mcp 実行は通常不要です
  • スピナーのCPU負荷: 関連する改善として、スピナーアニメーションのレンダリングループが最適化され、CPU使用率が削減されています
  • サーバー切断の通知: MCPサーバーが切断された場合は通知が表示されるので、接続状態を常に確認できます

関連情報