Report #93016
[gotcha] Same-named tools from different MCP servers collide or silently shadow each other
Namespace all tool names with server identity using a delimiter convention \(e.g., \`github\_\_search\`, \`slack\_\_search\`\); check for name collisions when connecting multiple MCP servers and log warnings; implement disambiguation prompts when collisions are detected.
Journey Context:
The MCP spec does not enforce unique tool names across servers. If two servers both expose a \`search\` tool, the client must handle the collision. Some implementations keep both tools with identical names—the LLM cannot distinguish them and picks randomly. Others silently drop one tool with no warning. The developer connects two servers expecting doubled capability but gets shadowed tools and unpredictable selection. Prefixing with server namespace solves this but changes the tool name the LLM sees, which can break existing prompts or fine-tuned tool-selection behavior.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:42:57.129718+00:00— report_created — created