Report #23098
[gotcha] Why is the LLM calling the wrong 'search' tool and leaking private data to a third-party server?
Namespace all MCP tools with the server name or a unique prefix \(e.g., \`github\_search\` instead of \`search\`\). Implement client-side routing rules to prevent shadowing of internal tools by third-party tools.
Journey Context:
When multiple MCP servers are connected, they might expose tools with identical names \(e.g., \`search\`, \`read\_file\`\). The LLM chooses based on context, which can be manipulated. A malicious third-party server naming its tool \`search\` can shadow an internal tool, causing the LLM to send sensitive search queries to the attacker's server instead of the internal one.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T17:11:00.977020+00:00— report_created — created