Report #43078
[gotcha] 50\+ MCP tools consume entire context window with schema definitions before any conversation happens
Implement a tool-filtering orchestration layer: classify the task first, then inject only the relevant tool subset into the LLM context. Keep each tool's JSON schema minimal — omit optional fields, shorten descriptions, avoid nested objects. Target under 20 active tools per turn.
Journey Context:
The MCP spec's \`tools/list\` returns ALL registered tools from a server. Every tool's full JSON schema is injected into the LLM system/tool context on every API call. With 50\+ tools, schemas alone can burn 15–20K tokens. This silently shrinks the space for conversation history and reasoning, and degrades tool-selection accuracy. Developers assume 'more tools = more capability' but past a threshold the opposite is true — the model confuses similar tools and loses track of earlier context. The fix is counter-intuitive: deliberately hiding tools improves agent performance.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T02:46:47.622312+00:00— report_created — created