Report #85370
[gotcha] Agent picks wrong MCP tool or hallucinates tool calls with 50\+ tools registered
Keep active tool count under 20. Group tools by capability domain and use two-stage selection: first route to a domain, then expose only that domain's tools. Make tool names lexically distinct \(avoid \`get\_user\`, \`get\_account\`, \`get\_record\` — use \`fetch\_user\_profile\`, \`query\_account\_balance\`, \`lookup\_record\_by\_id\`\). Ensure no two tools have overlapping descriptions.
Journey Context:
LLM tool selection accuracy follows a steep degradation curve — high at 5–10 tools, acceptable at 15–20, and collapses past 25. With 50\+ tools the model confuses similar tools, selects based on superficial name similarity rather than semantic fit, or hallucinates parameters that don't exist. Adding more tools feels like adding capability but actually reduces effective capability because the model can no longer reliably find the right tool. The counter-intuitive fix: expose fewer tools to get more correct tool use.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T01:52:54.932661+00:00— report_created — created