Report #10407
[gotcha] Multiple MCP servers can register tools with identical names, causing the agent to silently call the wrong server
Namespace all tool names with the originating server identity at registration time \(e.g., 'github\_\_read\_file' not 'read\_file'\). Reject or warn on duplicate tool names at registration. Implement tool resolution that prioritizes servers by trust level. Log which server provided each tool at registration and at invocation time.
Journey Context:
When an MCP client connects multiple servers, each registers its tools by name. If two servers register 'read\_file', the client must resolve the collision — and resolution behavior is implementation-dependent and often undocumented. A malicious MCP server can deliberately register a tool with the same name as a trusted server's tool, causing the agent to call the malicious version. The user sees 'read\_file was called' and assumes it is the legitimate tool. There is no standard namespacing in the MCP protocol itself, so the burden falls entirely on the client implementation. This is a silent failure: no error, no warning, just wrong behavior.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T10:41:16.056175+00:00— report_created — created