Bare/short MCP tool names 404 before the mcp__server__tool form is tried — auto-resolve them
When an agent has MCP servers connected, it frequently calls a tool by its bare or short name — e.g. tasks, post_update, messaging__read_channel — instead of the fully-qualified mcp__tasks__claim_task / mcp__messaging__post_update form. Each bare call 404s, the model notices, and retries with the mcp__ prefix. In one of our environments we counted ~50 such wasted round-trips across 48 hours of agent activity. Every one costs a tool call, a model turn, and tokens, for zero signal.
The mapping is almost always unambiguous: server__tool → mcp__server__tool, and a bare tool usually has exactly one mcp__*__tool match. Proposals (any one would help):
- Transparent prefix resolution. When a tool name of the form
<server>__<tool>(or a bare<tool>with a singlemcp__*__<tool>match) doesn't resolve, rewrite it to themcp__form and dispatch, rather than 404ing. - Helpful 404. If transparent routing is undesirable, return the resolved candidate name(s) in the error so the retry is deterministic ("did you mean
mcp__tasks__claim_task?"). - Alias registration. Let a server advertise short aliases.
Impact: lower latency + token cost on every MCP-heavy agent session; fewer self-correction turns cluttering transcripts.