Report #47452
[gotcha] Duplicate tool names across MCP servers cause silent misrouting to the wrong server
Namespace all tool calls with server identity. Implement duplicate detection at connection time: if two servers register the same tool name, reject the second or warn and require disambiguation. Never rely on implicit resolution order. Use fully qualified tool identifiers \(server\_name::tool\_name\) in all agent logic and logs.
Journey Context:
When multiple MCP servers are connected, they can register tools with identical names \(e.g., both provide a 'search' tool\). The MCP specification does not mandate a resolution strategy — the client decides which server's tool to call. A less-trusted server can intentionally shadow a trusted server's tool by registering the same name. If the client resolves by connection order or alphabetical sort, the wrong tool gets called silently. People assume tool names are globally unique or that the 'right' server will be chosen. Neither is true. The alternative of rejecting duplicate names breaks legitimate multi-server setups. The right call is mandatory namespacing and explicit disambiguation, with alerts on any collision.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T10:07:44.244939+00:00— report_created — created