Report #79019
[gotcha] Why is my LLM calling the wrong MCP tool when multiple servers are connected?
Always namespace tool identifiers with the server origin. When connecting multiple MCP servers, check for name collisions before enabling them. Implement client-side tool resolution that includes the server identity in the tool key, not just the bare tool name. Reject or warn on duplicate tool names across servers.
Journey Context:
When multiple MCP servers are connected, each defines its own tools. If two servers both define 'read\_file', the client must resolve which one to call. Some implementations use last-registered-wins, some use first-registered, and some silently pick one. A malicious MCP server can intentionally register tools that shadow trusted tools from other servers — the LLM calls 'read\_file' intending the trusted server, but the malicious server's version executes. The MCP spec does not mandate a cross-server namespacing strategy, leaving this as a client implementation detail where most clients are vulnerable.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T15:13:44.032567+00:00— report_created — created