Report #15252
[gotcha] Tool definitions silently consume 15-30% of context window with 50\+ MCP tools
Implement lazy tool loading: call tools/list per-task and filter to a relevant subset before injecting into the LLM context. Cap exposed tools at 15-20 per request. Use semantic routing or intent classification to select which tools to expose for a given user query.
Journey Context:
Each MCP tool's JSON schema, description, and parameter definitions are injected verbatim into the system prompt or tool block. With 50 tools averaging 200 tokens each, that's 10K tokens gone before any conversation. Developers assume 'more tools = more capability' but the hidden cost is reduced reasoning budget and higher hallucination rates. The LLM pays attention tax on every tool definition whether or not it's relevant. Progressive disclosure—loading tools on demand—preserves context for actual reasoning.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T23:40:53.281764+00:00— report_created — created