Model Context Protocol
Tool overload
Tool overload is the loss of accuracy and context space that happens when an AI model is given more tool definitions than it can reliably choose between; Anthropic's documentation says Claude's tool selection degrades once more than 30 to 50 tools are available.
What it is
Every MCP tool a client loads puts its name, description and schema into the model's context. Connect a few MCP servers that each map an API one-to-one and the model is choosing between hundreds of similar tools before it has read the question.
Anthropic's tool search documentation names two effects:
- Context bloat. A typical setup with five servers can use about 55,000 tokens on definitions before any work is done.
- Selection accuracy. Claude's ability to pick the right tool degrades once more than 30 to 50 tools are available.
Why it matters
An agent that picks the wrong tool does the wrong thing, or does nothing and reports success. Context spent on definitions is not available for the task, and large tool lists raise the cost of every request.
How it works
The fixes all load less up front:
- Tool search. The model searches the catalogue and loads only matching definitions. Anthropic's tool search tool works this way.
- Progressive discovery. The MCP client best-practices guide describes three layers: a catalogue the model can search, an inspect step that loads one tool's full schema, and execution. It suggests switching when definitions pass a threshold such as 1 to 5% of the context window.
- Fewer, broader tools designed for the model, rather than one per endpoint.
- Programmatic tool calling, where the model writes code that calls tools in a sandbox and only the result returns.
Example
An agent with six MCP servers attached is asked to update a contact's phone number. It sees three CRMs' update tools, two "patch person" tools and a generic HTTP tool, and calls the wrong CRM. With search, it asks for "update contact phone" in the connected CRM and loads one tool.
Common pitfalls
- Connecting everything "in case".
- Similar names across servers, such as several
create_itemtools. - Fixing it by hand, disabling tools per session, which breaks when the task changes.
How actionlake handles it
An agent on actionlake gets eight tools, whether one system is connected or a hundred, and adding a connector never adds a tool. The catalogue, inspect and execute layers are built into the server: find_actions searches 289,000+ actions, get_action returns one action's full schema, and do or ask runs it. Searching and inspecting are free. See the eight tools on the docs page and the platform page.
Questions
How many MCP tools is too many?
Anthropic's documentation says Claude's tool selection degrades past 30 to 50 tools. Beyond that, load tools on demand rather than all at once.
Why does adding MCP servers make my agent worse?
Each server adds tool definitions to the context. Past a point the model has less room for the task and more similar tools to confuse.
What is progressive tool discovery?
An approach from the MCP client best practices: the model searches a catalogue, loads the full schema of only the tool it needs, then calls it.
Related terms
- MCP toolAn MCP tool is a named function that an MCP server offers to AI models, described by a name, a plain-language description and a JSON Schema for its input, and invoked with a tools/call request.
- MCP gatewayAn MCP gateway is a single MCP endpoint that sits between AI agents and many systems, holding the credentials and enforcing permissions, limits and logging on every tool call that passes through it.
- Tool callingTool calling, also called function calling, is a language model's ability to answer with a structured request to run a named function with arguments, which the application executes before handing the result back to the model.
- MCP clientAn MCP client is the component inside an AI application that holds one connection to one MCP server, fetches that server's tool list and passes the model's tool calls to it.
- Canonical verbA canonical verb is one standard name for the same operation across every system that supports it, written domain.object.operation, such as service.ticket.create, so an agent learns an action once and can run it against any connected system.
Sources
Connect an agent. Start free.
100,000 calls free every month. No card. Hard caps on every key.