Description
Claude Code v2.1.117 (April 22, 2026) and v2.1.119 now connect MCP servers in parallel on startup and during subagent/SDK MCP server reconfiguration. Zeph's current MCP lifecycle in zeph-mcp connects servers sequentially.
Impact
For users with 3+ MCP servers configured, parallel connection reduces startup latency proportionally. With typical 500–1500ms handshake per server, 4 servers = 2–6s sequential vs ~500ms parallel.
Relevance to Zeph
zeph-mcp/src/lifecycle.rs connects and initializes servers in a loop. Converting to FuturesUnordered or join_all would give the same benefit with minimal code change.
Implementation Sketch
- Replace sequential server init loop with
futures::future::join_all or tokio::task::JoinSet
- Per-server errors should be non-fatal (log and skip, don't abort remaining)
- Startup spinner in TUI should aggregate per-server status (already has system status)
Estimated Complexity
Low (~2h). Pattern is straightforward async parallelization.
Source: Claude Code changelog v2.1.117 — https://code.claude.com/docs/en/changelog
Description
Claude Code v2.1.117 (April 22, 2026) and v2.1.119 now connect MCP servers in parallel on startup and during subagent/SDK MCP server reconfiguration. Zeph's current MCP lifecycle in
zeph-mcpconnects servers sequentially.Impact
For users with 3+ MCP servers configured, parallel connection reduces startup latency proportionally. With typical 500–1500ms handshake per server, 4 servers = 2–6s sequential vs ~500ms parallel.
Relevance to Zeph
zeph-mcp/src/lifecycle.rsconnects and initializes servers in a loop. Converting toFuturesUnorderedorjoin_allwould give the same benefit with minimal code change.Implementation Sketch
futures::future::join_allortokio::task::JoinSetEstimated Complexity
Low (~2h). Pattern is straightforward async parallelization.
Source: Claude Code changelog v2.1.117 — https://code.claude.com/docs/en/changelog