Report #40777
[gotcha] Tool definitions consume context window before any tool is called
Use tool namespaces and lazy/progressive tool loading. Only expose tools relevant to the current task. Group tools by capability and load on demand. Keep tool descriptions concise — every token in a tool definition is paid for on every request.
Journey Context:
Each registered MCP tool's JSON Schema \(name, description, inputSchema\) is injected into the LLM context on every turn. With 50\+ tools, this can consume 5,000–15,000 tokens before any user message. This silently reduces the effective context for reasoning and can push important context out of the window. The MCP spec doesn't define a mechanism for conditional tool exposure — the client must manage this. Developers often register every available tool upfront and wonder why the agent 'forgot' earlier conversation context.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T22:54:57.079657+00:00— report_created — created