環境変数

MCP_CONNECTION_NONBLOCKING

最初のクエリの前に、起動処理が MCP サーバーの接続完了を待つかどうかを制御する。MCP の起動はデフォルトでノンブロッキングであり、サーバーはバックグラウンドで接続し、完了し次第ツールが利用可能になる。0を設定すると、Claude Code が最初のクエリの前にサーバーの接続を待つようになる。alwaysLoad: true が設定されたサーバーは、ディスカバリーキャッシュから供給される場合を除き、最初のプロンプト構築時にツールが存在している必要があるため、この設定に関係なく起動を待たせる。--input-format stream-json を付けない非対話モード(-p)では、この変数に関係なく、最初のターンの前にまだ接続中のサーバーを待つ。--mcp-config を明示的に渡した場合、待機にはより長い期限が設けられる。キャッシュ済みサーバーの例外についてはそのフラグの項目を参照。

使い方・用途

  • 起動時に MCP サーバーの接続待ちでクエリ実行が遅れるのを避けたい場合に、バックグラウンドでサーバーが接続する初期動作を維持しつつこの変数の指定で挙動を調整する。
  • 初回クエリの前にすべての MCP サーバーが揃っていることを保証したい場合に、0 を設定して接続完了を待つブロッキング動作に切り替える。
  • p モードで MCP サーバーの接続待ちを完全に省略して起動を高速化したい場合に、true を設定して待機をスキップする。
英語原文(公式ドキュメントより)

Controls whether startup waits for MCP servers to connect before the first query. MCP startup is non-blocking by default: servers connect in the background and their tools become available as they finish. Set to 0 to make Claude Code wait for servers to connect before the first query. Servers configured with alwaysLoad: true still make startup wait regardless, except when served from the discovery cache, since their tools must be present when the first prompt is built. In non-interactive mode (-p) without --input-format stream-json, Claude Code also waits for still-pending servers before the first turn regardless of this variable. When you pass --mcp-config explicitly, the wait has a longer deadline; see that flag's entry for the cached-server exception

関連ドキュメント

関連する変更履歴

v2.1.281(1件)

Fixed
MCP_CONNECTION_NONBLOCKING=0 の際に、MCP_CONNECT_TIMEOUT_MS を無視して claude.ai コネクタへの接続を 1 秒で諦める問題を修正した
英語原文を表示
Fixed MCP_CONNECTION_NONBLOCKING=0 giving up on claude.ai connectors after 1s instead of honoring MCP_CONNECT_TIMEOUT_MS

関連ドキュメント

v2.1.89(1件)

Added
-p モードでMCP接続の待ち合わせを完全にスキップする MCP_CONNECTION_NONBLOCKING=true を追加し、さらに --mcp-config で渡したサーバーへの接続待ちを、最も遅いサーバーに引きずられて無期限にブロックする代わりに5秒で打ち切るようにした。
英語原文を表示
Added MCP_CONNECTION_NONBLOCKING=true for -p mode to skip the MCP connection wait entirely, and bounded --mcp-config server connections at 5s instead of blocking on the slowest server

変更後

遅い・応答しないMCPサーバーがあっても起動時間の上限をユーザーが制御でき、headless実行が速く確定的に終わるようになる。

関連ドキュメント