A general-purpose desktop agent has 40 MCP servers configured but cannot know which ones a user's request will need until the conversation starts, and connecting all of them at startup crowds the model's context. What does MCP client guidance recommend?
Select an answer to reveal the explanation.
Short Explanation
It's like a toolbox where you only unpack the drill when the job calls for it. The agent keeps a short list of what's available and connects a server when the model asks for it. The trap is thinking a host has to commit to its servers up front, because it doesn't.
Full Explanation
The client best-practices guidance extends progressive discovery from individual tools to whole servers, which it calls dynamic server management. Instead of connecting to every configured server at startup, the host maintains a registry of available servers with high-level descriptions, connects to a server only when the model decides it needs that server's capabilities, and disconnects servers that are no longer relevant to free context. This suits general-purpose agents whose intent is not known up front: they start with a minimal set of always-on servers, and a skill file can even declare the servers it needs so the host connects them only when that skill runs. Connecting everything but calling only server/discover still opens every connection and gives the model no way to reach the tools later, so it solves nothing. Nothing stops a host from creating a new client mid-conversation; on demand, it runs server/discover and tools/list for the newly enabled server. MCP pairs one client with each server, so a single shared client for forty servers contradicts the architecture and would not shrink the definitions anyway. Exam caveat: to protect prompt caching, treat disconnection as a conversation-boundary step rather than a per-turn one. Operational check: start a conversation and confirm only the always-on servers are connected until the model requests another.