Report #16340
[gotcha] 50\+ MCP tool definitions silently consume 15-30K\+ tokens before any user message
Implement tool filtering by task relevance before injecting into context. Keep active tool count under 20-30. Use MCP server namespacing to group tools and only connect servers relevant to the current task. Consider on-demand tool discovery: present a meta-tool like 'search\_available\_tools' that returns relevant tool definitions only when needed.
Journey Context:
When an MCP client calls tools/list, every tool definition \(name \+ description \+ inputSchema JSON Schema\) is injected into the LLM context as part of the tool-calling payload. With 50\+ tools, each having detailed schemas with nested objects and enums, this bloat is enormous and invisible—there is no warning when you cross a token budget threshold. Developers assume more tools means more capability, but the hidden cost is reduced effective context for reasoning and earlier truncation of conversation history. Progressive disclosure trades initial discoverability for much better context utilization. The meta-tool pattern is particularly effective: instead of loading 100 tools upfront, load 10 core tools plus one search tool that dynamically surfaces others.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T02:24:24.433939+00:00— report_created — created