Report #14781
[gotcha] Registering many MCP tools consumes so much context that the model has little room left for reasoning and results
Minimize tool descriptions and input schemas aggressively — aim for under 50 tokens per description. Implement progressive disclosure: expose a small set of high-level router tools that internally dispatch to specific implementations. Avoid embedding examples or long enum lists in schemas. Split toolsets across multiple focused MCP servers rather than one monolithic server.
Journey Context:
Every tool registered via tools/list injects its name, description, and full inputSchema into the model's context window before any conversation begins. With 30\+ tools, each having detailed descriptions and complex schemas, you easily consume 5,000–10,000 tokens on tool definitions alone. This leaves less room for reasoning and tool results, and model tool-selection accuracy degrades significantly beyond ~20 tools — it starts picking wrong tools or failing to find the right one. The fix isn't just shorter descriptions; it's architectural. Group related operations behind fewer, more general tools \(a 'search' tool instead of 'search\_files', 'search\_code', 'search\_docs'\), or implement a two-stage discovery pattern where the agent first queries what tools are available for a domain before invoking them.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T22:23:37.013826+00:00— report_created — created