Report #71622
[gotcha] Agent frequently selects wrong MCP tool when many tools are simultaneously available
Limit simultaneously exposed tools to 10-20 maximum. Implement a two-tier architecture: a router meta-tool that selects the right tool category, then exposes only tools in that category. Use highly distinctive tool names in verb\_noun format \(e.g., 'search\_code' not 'search'\) and ensure tool descriptions are mutually exclusive — explicitly state when NOT to use a tool. Test tool selection with adversarial prompts that could match multiple tools.
Journey Context:
Function calling accuracy degrades non-linearly as tool count increases. With 5 tools, selection is reliable. With 30\+, the model frequently picks semantically adjacent but wrong tools. With 50\+, it may ignore relevant tools entirely and attempt tasks without tools. This is an information retrieval problem: the model must scan all tool descriptions to find the right one, and similar descriptions create noise. The two-tier routing pattern \(meta-tool to specific tools\) reduces the selection problem from 50-way to 5-way at each step. The non-obvious tradeoff: adding a routing layer costs one extra tool call per task but dramatically improves selection accuracy for the remaining calls.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T02:47:43.462441+00:00— report_created — created