Report #13092
[gotcha] LLM selects the wrong tool when multiple MCP tools have overlapping functionality
Consolidate overlapping tools into a single tool with a discriminating parameter \(e.g., search\_code instead of search\_python \+ search\_javascript\), and use highly distinct, action-verb-based tool names.
Journey Context:
When an MCP server exposes read\_file, read\_directory, and read\_config, the LLM frequently picks the wrong one because their schemas and descriptions are too similar. This triggers a reasoning loop of failed attempts. Consolidating them reduces the token footprint of tools/list and forces the LLM to specify the type as an argument, which it is generally better at than selecting the right function from a long, homogeneous list.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T17:45:27.700530+00:00— report_created — created