Report #29874
[gotcha] Tool definitions silently consuming context budget — no room left for reasoning
Limit active tool definitions to what fits comfortably in context \(under ~20 tools\). Use MCP's tools/list with pagination to load tools on demand by namespace or task category. Consolidate similar tools into a single tool with a discriminating parameter \(e.g., one \`read\_resource\` tool instead of \`read\_file\`, \`read\_directory\`, \`read\_config\`\).
Journey Context:
Every tool's JSON schema, description, and parameter definitions are injected into the model's context on every request. With 50\+ tools, this can consume 10–20K tokens before any conversation happens. The model then has less room for reasoning and multi-step planning, leading to degraded performance. People assume 'more tools = more capable' but the opposite happens past a threshold. Longer tool descriptions to disambiguate make the bloat worse — a vicious cycle. The right call is fewer, well-named tools loaded progressively.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T04:32:01.917339+00:00— report_created — created