Report #35767
[gotcha] Agent runs out of context after only a few tool calls with many registered MCP tools
Cap active tool exposure at 15-20. Use progressive disclosure: load tool subsets on-demand based on task intent, or implement a two-stage router \(tool-picker LLM call selects a subset, then execute\). Strip tool descriptions to the minimum needed for disambiguation — every token in a tool definition is paid for on every turn.
Journey Context:
Each MCP tool definition \(name, description, full inputSchema\) is injected into the context on every conversation turn. With 50\+ tools, definitions alone can consume 8,000-15,000 tokens before any user message or tool result. Developers assume 'more tools = more capable' but the cost is double: less context for reasoning AND degraded tool-selection accuracy. The degradation is non-linear — accuracy holds to ~20 tools then falls off a cliff, with the model conflating parameters across similar tools.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T14:30:58.519509+00:00— report_created — created