Self-hosted · MIT · Any OpenAI-compatible agent
RootRouter cuts the context your agents send — 44% in our benchmark, up to 95% on cold repo slices — with one base_url change or an MCP server for coding agents.
Running in production on OpenClaw · No analytics, no phone-home.
MCP for cold slices and cross-module work: index once, then ask for a budgeted slice instead of the whole repo.
# one-time, per repository
npx rootrouter@beta init cursor --project-store --project-agent-id my-project
# then, in Cursor, the MCP tools do the work
index_repo(path=".")
select_context(query="slice + modules + anchor files", tokenBudget=2500)
# warm single-file change? edit directly, skip MCPSDK: npm install rootrouter@beta · full docs
Agents send the whole thread, the whole repo and every tool output. It costs money, buries the signal and leaves no evidence of what was sent.
Every turn re-sends history the model does not need. Cost scales with the conversation, not with the task.
Agents read everything to find three files, then pay for the other thousand.
Nobody can show what context was sent, what was dropped, or what it cost. RootRouter logs it.
RootRouter fixes the context layer. The model and the agent framework stay yours.
The model and the agent stay the same. Only the context changes.
Change one base_url, or add the MCP server. No rewrite, no SDK lock-in.
History, repo chunks and tool output are ranked and cut to a token budget before they reach the model.
Tokens saved per request, a selection audit per task, and a dashboard when you want the detail.
Same selection core. Pick the integration your agent already supports.
Point base_url at it. Every chat completion arrives trimmed, streamed and fail-open to the original request.
Best for: Existing OpenAI-compatible agents
Proxy docs →Index a repository once, then select a budgeted slice per task with path filters and an audit log.
Best for: Cursor, Codex, Claude Code
MCP docs →Rank a buyer’s candidate models for one turn by task fit and expected cost. Stateless, no prompt storage.
Best for: Inference marketplaces
IRP guide →Evidence
Measured, not promised. Every number below carries its baseline.
50-query SDK benchmark · seed 42 · TF-IDF + simulated LLM · modeled cost at Claude-tier prices, not billed
50-query TF-IDF + simulated-LLM benchmark (seed 42). The same run models 73% lower cost.
Modeled cost at Claude-tier prices, not a billed reduction.
Swarm profile: 24 steps, 3 agents, real nvidia/nemotron-3-ultra-550b-a55b completions.
Estimated over accumulated history; not an API-billed figure.
~134k indexed-corpus tokens → ~6k selected for a spec-driven slice.
Best case for a cold, spec-driven slice; not an every-request result.
On Antseed
RootRouter speaks IRP suggest-only: it ranks the candidates you allow for one turn by task fit and expected cost. It does not run inference, does not store prompts, and does not call upstream providers.
Context is sensitive. RootRouter is software you run, not a service that collects your traffic.
The proxy and the MCP server run on your infrastructure. The provider still receives the request you send — RootRouter does not add a middleman.
Context lives in a JSON store whose path you set. There is no hosted database and no RootRouter account.
No analytics scripts, no phone-home. On-chain telemetry is optional and off by default.
Free audit
Send one agent trace or repository. You get a token breakdown, a sample of what RootRouter would keep, and an estimate of what it would save — with the method and the numbers.
No commitment. One repo or one trace is enough. I run it myself.
Cost, quality, data, and how it fits with the tools you already use.
One trace or one repo is enough to see what you are re-sending and what RootRouter would cut.