MCP tool overload is the point at which an AI agent has so many Model Context Protocol tools connected that their definitions crowd out the actual work and the model starts choosing the wrong one. Anthropic’s documentation puts a typical five-server setup (GitHub, Slack, Sentry, Grafana and Splunk) at about 55k tokens of definitions before Claude does anything, and says tool selection degrades once more than 30 to 50 tools are available.

No single fix is best; the right one depends mostly on which model you run. Claude’s tool search ranks first because it removes the cost at the model layer and is on by default in Claude Code. MCPfinder ranks second because it takes a different route: keep only your daily servers installed and let the agent look up the rest. OpenAI’s tool search, Docker’s dynamic MCP, Cloudflare’s Code Mode and plain manual pruning follow, each right for a narrower situation.

Two problems that look like one

Overload is two separate failures, and the fixes target them differently. The first is context cost: every connected tool’s name, description and schema goes to the model on every request, used or not. The second is selection accuracy: with dozens of near-duplicate tools (several servers each exposing a search function, say), the model picks wrongly more often. Anthropic’s tool search documentation names both problems and says its approach addresses them by loading only the three to five tools a request needs.

Deferral (Claude, OpenAI) addresses both without changing what you have installed. Pruning and discovery (manual pruning, MCPfinder, Docker) address both by changing what is installed. Code Mode addresses the cost by changing the server itself. Which lever you control tells you which entry to read first.

Deferral versus discovery

The two approaches look similar but differ in a way that matters for planning. With deferral, every tool definition is still sent to the API on every request; only the model’s context is spared. Anthropic’s docs say so explicitly. Deferral therefore has a ceiling (10,000 deferred tools per request) and still requires you to have configured every server in advance. Discovery tools like MCPfinder and Docker’s mcp-find reverse that: the agent starts small and goes looking.

Neither is strictly better. Deferral is invisible and keeps everything reachable, so it suits a stable set of servers. Discovery suits open-ended work where you cannot predict which tool a task needs, at the price of a step where the agent finds, vets and adds something. Docker’s version does that step inside the session; MCPfinder’s hands you a vetted config. Teams with more than a handful of servers usually want deferral for what they have and discovery for what they might need.

What the published numbers do and do not show

Every figure in this report is a vendor statement about its own setup. Anthropic’s 55k-token and 85-percent figures describe a specific five-server example and a typical outcome, not a guarantee. OpenAI publishes no figure at all. Cloudflare’s numbers are the most extreme, about 1,000 tokens for Code Mode against about 1,170,000 for 2,594 native tools with full schemas, but they describe one very large API, and Cloudflare’s blog and docs cite different native-tool figures, so we use the docs. Nobody has published a neutral, cross-vendor benchmark of tool-selection accuracy, so don’t treat any single percentage as settled.

Where this is heading

Vendor documentation points one way: on-demand loading is becoming a default rather than an option. Claude Code ships it switched on, and OpenAI’s Agents API defers MCP tools automatically when the model and provider support it. If that holds, the context-cost half of overload shrinks for most users. The remaining work is discovery: knowing which server to add when a task needs a capability you never configured. Registry-aware tools matter there, and the gap between “can find a server” and “can safely add one” is still closing.