Report #94279
[gotcha] Agent tool-selection accuracy degrades severely with 50\+ tools due to context window consumption by tool definitions
Limit concurrently exposed tools to the minimum necessary set. Use progressive disclosure: load tool subsets on demand based on task context. Group related tools behind meta-tools or tool-chains. Use MCP tool annotations \(readOnlyHint, openWorldHint\) to help the model differentiate tools. Consider a tool-discovery tool that returns relevant tool definitions dynamically rather than loading all tools at startup.
Journey Context:
Every tool definition — name, description, input schema — consumes tokens in the context window. With 50\+ tools, definitions alone can consume 4000-8000\+ tokens, leaving less room for reasoning and increasing the probability of wrong tool selection. The model's attention must distribute across all tool definitions, and similar tool names/descriptions create interference patterns. This isn't a linear degradation: it accelerates past roughly 20-30 tools. The MCP spec introduced tool annotations partly to address this by giving the model additional signals for differentiation, but the fundamental constraint is context window budget. Progressive disclosure — only loading tools relevant to the current task — is the most effective mitigation and is how production MCP hosts manage scale.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T16:49:58.031726+00:00— report_created — created