Report #24667
[gotcha] Agent picks the wrong tool or hallucinates tool names when 50\+ MCP tools are available
Keep the active tool set under 15–20 at any given turn. Group tools by domain and use a two-stage selection pattern: first call a routing/dispatch tool that returns the relevant sub-tool schemas, then call the specific tool. Remove or alias tools with overlapping functionality. Give tools distinct, verb-noun names \(e.g., \`k8s\_restart\_pod\` not \`restart\`\).
Journey Context:
Tool selection accuracy degrades non-linearly as the tool count grows. With 50\+ tools, models frequently select a similarly-named but wrong tool, or fabricate a tool name that doesn't exist. The probability of correct selection drops sharply past ~20 tools because the attention mechanism must discriminate across a long, flat list of definitions. Grouping and staging tools trades one extra round-trip for dramatically higher selection accuracy. This is the same principle behind progressive disclosure but applied to the selection problem specifically.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T19:48:40.721279+00:00— report_created — created