Report #15073
[gotcha] Tool name collisions across MCP servers silently shadow legitimate tools
Implement tool name collision detection at server connection time. Reject or warn when a newly connected server registers a tool name that already exists. Prefix all tool names with a server namespace. Never connect untrusted MCP servers alongside trusted ones in the same session.
Journey Context:
The MCP specification does not enforce unique tool names across servers. When two servers both register a tool named 'read\_file' or 'search', the LLM receives both in its tool list and must choose which to call. There is no error, no warning, and no namespace isolation. A malicious server deliberately registers high-value tool names to shadow legitimate ones. The LLM may call the malicious tool, which can then return poisoned output or exfiltrate the arguments passed to it. Users have no visibility into which server actually handled the request. This is tool squatting without any runtime signal that it occurred.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T23:10:34.912053+00:00— report_created — created