Uber's Gateway and CorpusMap Both Shrink What the Model Sees
Two unrelated designs cut agent input and got better results, which makes your context budget, not your request rate, the first number to instrument.
Why the catalogue broke before the traffic
The ML Engineer's back-of-envelope math explains where the wall landed. A tool schema is a few hundred tokens, so Uber's catalogue costs an agent roughly a million tokens of definitions before any request. That estimate is the author's, not Uber's figure. Gateway calls are cheap, so request volume never bound. The context window did, because every candidate tool competes for it.
This is a service mesh, and meshes already proved the split. An MCP registry is the control plane, cataloguing servers and tools. A proxy gateway is the data plane, translating MCP calls into HTTP, gRPC or TChannel at runtime. That translation is the underrated win. Existing microservices become agent-reachable without an MCP rewrite. AutoCrawler continuously scans Uber's API definitions, generates MCP servers and has an LLM enrich tool descriptions.
Three fixes, three new dependencies
| Fix | What it removes from context | What it costs | Failure to watch |
|---|---|---|---|
| One proxy server with incremental tool discovery | The upfront tool catalogue | Extra discovery round-trips | The agent can't call a tool discovery never surfaced |
| GraphQL-like field selection on responses | Response fields the agent didn't ask for | Projection logic in the gateway | Under-selection triggers re-query loops that eat the savings |
| Code mode: coding agents call tools via CLI, output goes to files | Raw tool output, which the agent reads selectively | A sandboxed filesystem and CLI per session | Files persist sensitive data; the CLI path must still pass gateway authz and redaction |
CorpusMap reaches the same answer from the retrieval side
TheSequence covers a Microsoft and KAIST paper attacking the same budget in RAG. CorpusMap builds Entity Pages offline, each linking every document that mentions a recurring entity, and agents walk those links as paths. On EnterpriseRAG-Bench, WixQA and HERB, overall quality rose 6.45 points with GPT-5.5 and up to 11.74 with Luna. Input tokens fell to 0.43–0.65× baseline. Those two usually trade off. Both improved because cross-document work moved to index time.
Same pattern twice. Both move work off the context window into something cheaper: discovery calls and files at Uber, an offline build in CorpusMap. Both buy a failure mode. Uber's discovery recall becomes a correctness dependency. CorpusMap operators own entity resolution and rebuild cadence, and stale pages on fast-moving corpora like tickets or chat logs send agents down outdated paths.
The control that makes auto-generation survivable
Every Uber tool is registered disabled until someone enables it. Otherwise the crawler would make each new endpoint, destructive ones included, agent-callable the moment it read the definition. The ML Engineer names the catch, and I have watched approval gates fail exactly this way. With no named owner and no enablement SLA, disabled-by-default becomes a queue that teams bypass by wiring agents to APIs directly. The LLM-written descriptions need code review too, since the description decides which tool the agent picks.
One gap matters. Tools are authorized at tool level, but Uber's write-up never says whose identity the gateway evaluates: end user, agent or gateway. Zalando's open-sourced Agentic Identity Broker, walked through with KAOS, separates three principals: a user delegating to an agent, the agent's own tool and model calls, and an autonomous agent with no user that must stay inside its grant. KAOS is maintained by the institute that published the walkthrough, so treat it as a reference design, not a validated dependency.
What to do
Instrument tool-definition tokens per session and per turn across your MCP servers this sprint, then prototype a single discovery proxy in front of them before adding more tools.
Switch tool registration to disabled-by-default, with a named owner and enablement record per tool, before your team builds any OpenAPI- or proto-to-MCP generator this quarter.
Write an Alice/Bob confused-deputy test suite this quarter covering cross-user access through a shared agent, the agent's own calls, and an autonomous agent probing outside its grant, and run it in CI.