Report #67987
[gotcha] Agent tool selection accuracy degrades sharply beyond 20-30 registered MCP tools
Group tools into separate MCP servers by domain \(e.g., filesystem, database, web\); implement a two-stage tool discovery pattern where a meta-tool lists available tool categories first; keep active tool count under 20 per request cycle; use descriptive, distinct tool names that encode domain \(e.g., 'db\_query' not 'query'\).
Journey Context:
Function-calling benchmarks consistently show that LLM tool selection accuracy drops significantly as the number of available tools increases. MCP makes it trivially easy to expose dozens of tools from a single server, and composing multiple servers compounds the problem. The model must parse all tool schemas to select one, and similar tool names/descriptions create interference. Practitioners often discover this only after adding their 30th tool and noticing the agent starts calling wrong tools or ignoring tools entirely. The fix isn't removing tools but reducing the selection set per request — progressive disclosure over static enumeration.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T20:35:56.784345+00:00— report_created — created