K2.4.4 Task 2.4

All MCP Servers Connect at Startup

All configured MCP servers are discovered and connected during initial startup. Their tools become simultaneously available before any user interaction begins. There’s no lazy loading, no priority queue, and no user approval step.

The discovery process

When Claude Code starts:

  1. Reads MCP server configuration from .mcp.json (project) and ~/.claude.json (user)
  2. Connects to all configured servers simultaneously
  3. Discovers each server’s available tools
  4. Makes all tools available before the first user message

If a server is configured, its tools are available. If a server fails to connect, its tools are unavailable (but other servers’ tools still work).

No lazy loading

There is no on-demand connection mechanism. All servers connect at startup regardless of whether their tools will be needed in the current session. A GitHub MCP server connects even if the user only plans to discuss code without touching GitHub.

No manual activation

Claude Code does not prompt the user to confirm which MCP servers to activate. All configured servers are connected automatically. If you don’t want a server to connect, remove it from the configuration — there’s no “disabled” flag for selective activation.

Implications

  • Startup time increases with more MCP servers (each needs a connection handshake)
  • Tool count equals the sum of all connected servers’ tools (affects selection reliability per K2.3.1)
  • Availability is all-or-nothing per server — if a server connects, all its tools are available

One-liner: All configured MCP servers connect at startup and their tools are simultaneously available before any user interaction — no lazy loading, no priority queue, no manual activation.