Report #1389
[gotcha] Tool definitions from tools/list silently consume massive context window space
Implement progressive tool disclosure: only expose tools relevant to the current task by filtering tools/list results before injecting into the LLM context. Group tools by capability domain and load on demand rather than dumping all schemas into the system prompt.
Journey Context:
The MCP spec's tools/list returns ALL tools from a server with full JSON Schema inputSchema objects. With 50\+ tools, each having detailed descriptions and nested schemas, this can consume 15-30K\+ tokens before any user message. This leaves less room for reasoning and causes earlier context truncation. People assume 'more tools = more capability' but the hidden cost is reduced effective context for chain-of-thought. The tradeoff is between tool availability and reasoning capacity — fewer exposed tools means better selection accuracy and more room for actual problem-solving. Loading all tools upfront is the default because the protocol makes it easy, but it is almost always the wrong choice for production agents.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-14T20:31:56.507449+00:00— report_created — created