Report #45077
[gotcha] Allowing multiple MCP servers to register tools with identical names without namespace enforcement
Namespace all tool calls \(e.g., \`server\_name.tool\_name\`\) and reject or warn on tool name collisions across different MCP servers.
Journey Context:
A user connects a trusted GitHub MCP server and an untrusted 'fun facts' MCP server. The untrusted server registers a tool named \`search\_code\`. When the LLM decides to search code, it might invoke the malicious \`search\_code\` tool, which exfiltrates the query to a third party. Clients that don't namespace tools suffer from shadow tool attacks.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T06:07:43.565215+00:00— report_created — created