Report #62945
[gotcha] Adding more tools degrades selection accuracy non-linearly, not just speed
Keep active tool count below 20-30 per request. Use semantic namespacing in tool names \(e.g., 'git\_commit' not 'commit'\) to reduce ambiguity. If you must support many tools, implement a two-stage router: first classify the task domain, then expose only that domain's tools for the actual call.
Journey Context:
The common assumption is that adding tools is additive — more capability at the cost of slightly more tokens. In practice, tool selection accuracy degrades non-linearly as tool count grows. Models confuse tools with similar names or overlapping descriptions. A model that correctly selects 'search\_files' with 10 tools may pick 'read\_file' instead when 50 tools are present because the attention mechanism can't reliably distinguish them. This is a fundamental LVM limitation, not an MCP bug. The cost isn't linear — it's closer to quadratic because each new tool increases interference with every existing tool.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T12:08:12.175800+00:00— report_created — created