Feature request: lazy-load / progressive-disclosure for MCP servers in Claude Desktop (parity with Claude Code deferred tools)

Resolved 💬 1 comment Opened Jul 8, 2026 by anthemwild Closed Jul 11, 2026

Feature request: lazy-load / progressive-disclosure for MCP servers in Claude Desktop (as Claude Code already does for deferred tools)

Problem

Claude Desktop eagerly spawns every configured local MCP server at launch, keeps them all running for the entire app lifetime, and lists all their tools upfront. With a real-world config (7–15 local servers) this means a large, permanently-resident set of node/npx child processes regardless of whether any given server is ever used in a session.

This eager-spawn model is also what amplifies the double-init process leak in #75574: because all servers boot at launch, a duplicated init sequence duplicates the entire fleet, and idle servers that will never be touched still get leaked.

Observation: the platform already does the better thing elsewhere

Claude Code (and the Agent SDK harness) already implement progressive disclosure for MCP:

  • Tool schemas are deferred and loaded on demand (surfaced to the model via a ToolSearch-style mechanism) rather than all injected upfront.
  • Servers connect/disconnect dynamically over a session; tools appear when a relevant server is available and drop when it isn't.

This is conceptually identical to how Skills work — inert until invoked, loaded on demand, released when not needed — which keeps idle capability free.

Request

Bring the same model to Claude Desktop's local MCP servers:

  1. Discover tool schemas without keeping every server hot — cache each server's advertised tool list (keyed by command + config hash) so tools can be listed without the process running.
  2. Spawn on first use — start a server's process only when one of its tools is actually invoked (or when the user opens a surface that needs it).
  3. Idle teardown — after a configurable idle period, terminate a server's process (and its child tree) and fall back to the cached schema.

Benefits

  • Dramatically fewer resident processes; startup is lighter and faster.
  • The blast radius of lifecycle bugs like #75574 shrinks to near zero — there is no large eager fleet to duplicate or leak.
  • Matches the mental model users already have from Skills and from Claude Code's deferred tools.

Related: #75574 (double-init spawns and leaks duplicate generations of the full eager fleet).

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗