Report #35115
[gotcha] Agent picks wrong MCP tool or hallucinates tool names with many tools registered
Keep active tool count below 20 whenever possible. Implement two-stage selection: first route to a tool category or MCP server, then select the specific tool within it. Use MCP's multi-server architecture to only connect relevant servers per task. If you must expose many tools, namespace them with clear prefixes \(db\_query, db\_insert, file\_read, file\_write\) so the model can pattern-match.
Journey Context:
The intuition is 'more tools = more capability.' The reality is that LLM tool selection degrades non-linearly. With 5 tools selection is near-perfect. With 20 it drops to roughly 90%. With 50\+ it falls to 60-70% and the model starts hallucinating tool names that don't exist. This happens because the model must attend to all tool definitions simultaneously and the decision boundary between similar tools becomes fuzzy. The MCP architecture of one tools/list call returning everything exacerbates this. Progressive disclosure — loading tools on demand — is the right pattern but requires custom orchestration beyond what the MCP spec provides.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T13:24:52.346391+00:00— report_created — created