Skip to content

原文(日本語に翻訳)

MCPサーバーの信頼性を向上:ケイパビリティ検出(tools/listprompts/listresources/list)が短いバックオフで一時的なネットワークエラーをリトライするようになりました

原文(英語)

Improved MCP server reliability: capability discovery (tools/list, prompts/list, resources/list) now retries transient network errors with short backoff

概要

MCPサーバーへの接続時に行われるケイパビリティ検出(利用可能なツール・プロンプト・リソースの一覧取得)が、一時的なネットワークエラーに遭遇した場合、短いバックオフ間隔を挟んで自動的にリトライするようになりました。ネットワークの瞬断や一時的なサーバー負荷による接続失敗が大幅に減少します。

基本的な使い方

この改善は自動的に適用されます。MCPサーバー設定は変更不要です:

json
// .claude/settings.json
{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["./mcp-server.js"]
    }
  }
}

ネットワークエラーが発生した場合、Claude Codeが自動的にリトライします。

実践例

リモートMCPサーバーへの接続

json
{
  "mcpServers": {
    "remote-api": {
      "url": "https://my-mcp-server.example.com/mcp",
      "transport": "sse"
    }
  }
}

以前は一時的なネットワーク遅延でサーバーの認識に失敗することがありましたが、自動リトライにより接続成功率が向上します。

起動時の接続安定化

bash
# 起動時にMCPサーバーが一瞬応答しない場合でも
claude  # → ケイパビリティ検出がリトライするため、接続失敗が減少

複数MCPサーバーの環境

json
{
  "mcpServers": {
    "server1": { "command": "node", "args": ["./server1.js"] },
    "server2": { "command": "python", "args": ["server2.py"] },
    "server3": { "url": "https://api.example.com/mcp" }
  }
}

各サーバーへのケイパビリティ検出が独立してリトライされるため、1つのサーバーの一時的な遅延が他のサーバーへの接続に影響しません。

注意点

  • リトライは一時的(transient)なネットワークエラーに対してのみ行われます。設定ミスや永続的な接続失敗は依然としてエラーとして報告されます。
  • バックオフ間隔は短く設定されているため、ユーザーが体感する待ち時間はほとんどありません。
  • MCPサーバー自体がクラッシュしている場合はリトライしても接続できません。その場合はサーバーのログを確認してください。

関連情報