Skip to content

原文(日本語に翻訳)

SSE 接続が切断して再接続を使い果たした場合に MCP ツール呼び出しが無限にハングする問題を修正しました。

原文(英語)

Fixed MCP tool calls hanging indefinitely when an SSE connection drops mid-call and exhausts its reconnection attempts

概要

HTTP/SSE(Server-Sent Events)を使用した MCP サーバーとの通信中に接続が切断され、すべての再接続試行が失敗した場合に、MCP ツール呼び出しが無限に応答を待ち続けてハングする問題が修正されました。修正後は再接続が失敗した場合に適切なエラーが返されます。

基本的な使い方

SSE MCP サーバーへの接続が失敗した場合、無限にハングせず適切なエラーが返されます。

bash
$ claude
# SSE MCP サーバーが設定されている状態で
> MCPツールを使用してください
# 接続が切断されて再接続も失敗した場合
# 修正前: 無限にハングしていた
# 修正後: エラーが返されて処理が継続可能

実践例

ユースケース: 不安定なネットワーク環境での MCP 使用

Wi-Fi の不安定な環境や VPN 接続が途切れがちな場合でも、MCP ツールのハングが防止されます。

bash
# 不安定なネットワーク環境
$ claude
> Slack から最新メッセージを取得してください
# SSE 接続が切断...再接続試行...失敗
# 修正後: "MCP接続が失敗しました" エラーを受け取り
# 処理を継続したり再試行したりできる

ユースケース: MCP サーバーのメンテナンス時

MCP サーバーがメンテナンス中や停止中の場合も、Claude Code がハングしなくなります。

bash
# MCP サーバーがダウン中
$ claude
> ドキュメントを検索してください
# 接続試行 → 再接続試行 → 全て失敗
# 修正後: タイムアウト後にエラーが返り、他の作業を継続できる

注意点

  • この問題は SSE(Server-Sent Events)を使用した HTTP ベースの MCP サーバーに固有の問題でした
  • stdio ベースの MCP サーバーには影響しませんでした
  • 再接続の試行回数は設定可能です(デフォルト値あり)
  • エラー後に再度同じツールを呼び出すことは可能です

関連情報