Report #5028
[gotcha] Identically named tools from different MCP servers collide and route to the wrong server
Namespace every tool at ingestion time. Use server-name prefixes \(github\_\_get\_file\_contents\) or dotted namespaces \(github.get\_file\_contents\). Preserve the original name when calling the server; the namespace is for the model and router, not the wire.
Journey Context:
Generic names like search, get\_file\_contents, query, and execute are common across servers. The MCP spec does not mandate server-scoped tool names, so hosts may flatten the namespace. Cursor and the OpenAI Agents SDK have both been bitten by this. A gateway that rewrites names on the way in and out is often the cleanest place to solve it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T20:32:34.831893+00:00— report_created — created