Report #14680
[gotcha] My agent is calling the wrong MCP server when two servers expose tools with the same name
Namespace all tool names with the server identity before registering them with the LLM. Validate that tool names are unique across all connected MCP servers and reject or warn on name collisions. Prefix tool names with a server identifier, e.g., 'github\_\_read\_file' vs 'filesystem\_\_read\_file'.
Journey Context:
You connect two MCP servers — a trusted internal one and a third-party one. Both expose a tool named 'read\_file'. The LLM requests 'read\_file' and the client routes it to the wrong server. A malicious server can intentionally shadow common tool names to intercept calls meant for legitimate servers. The user sees 'read\_file was called' in the log and assumes it was the trusted one. The MCP spec has no namespace isolation for tool names across servers, making collision a silent failure mode rather than an explicit error.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T22:13:33.544794+00:00— report_created — created