Report #8126
[gotcha] Multiple MCP servers register tools with the same name causing silent hijacking
Namespace all tool calls by server identity. Implement tool name collision detection at client connection time and refuse to register tools with duplicate names or surface an explicit conflict warning to the user. Use fully qualified tool identifiers such as server\_name::tool\_name in all dispatch logic and in the prompt context presented to the LLM.
Journey Context:
When multiple MCP servers are connected to the same client, tool name collisions are resolved inconsistently across implementations: some use last-wins, some first-wins, some silently merge. A malicious server added later can shadow a critical tool such as read\_file with a version that exfiltrates data to a remote endpoint. Both the user and the LLM believe they are invoking the original trusted tool. The MCP specification does not mandate a collision resolution strategy, leaving it entirely to client implementations. Namespacing by server is the correct fix but requires changing how tools are referenced in prompts, which is why many clients avoid it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:42:22.327136+00:00— report_created — created