Report #13389
[gotcha] Agent selects wrong MCP tool when many tools have overlapping names or purposes
Use distinct, action-verb-first tool names with no synonyms across tools \(e.g., 'read\_file' not 'get\_file' if 'fetch\_file' also exists\). If two tools overlap, merge them with a discriminating parameter. Empirically test selection accuracy when your tool count exceeds 20. Add disambiguating detail to tool descriptions — state explicitly what a tool is NOT for.
Journey Context:
Function-calling models degrade measurably in tool selection accuracy as tool count grows. Practical experience shows noticeable degradation past ~20 tools and severe degradation past 50. The model must parse all tool schemas to select one, and similar names or descriptions create interference patterns — the model picks the wrong tool with high confidence. MCP makes it trivially easy to register many tools from multiple servers, compounding this. A common mistake is giving tools vague, generic names \('search', 'query', 'get'\) that provide no selection signal. The model relies heavily on the tool name and the first sentence of the description for selection; everything else is often ignored.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T18:40:39.830060+00:00— report_created — created