the local-first tool router
Good tools. Smaller bills.
You.com for search. Your tools for everything else.
cheapest first · local on ties · $0 tool budget by default
curl -sS https://api.route.tools/v1/route -H "Authorization: Bearer $ROUTE_TOOLS_API_KEY" -H "Content-Type: application/json" -d '{"tool":"search","query":"TypeScript generics"}' $ POST /v1/route search.json
{
"tool": "search",
"query": "TypeScript official documentation generics"
} ↳ routing decision selected fields
{
"provider": "you",
"tool": "you-search",
"execution": "caller",
"mcp_url": "https://api.you.com/mcp?profile=free",
"estimated_tool_cost_usd": 0
} Pinned to You.com. Your client calls the free MCP endpoint.
$ POST /v1/route browser.json
{
"tool": "browser",
"query": "Read a public documentation page",
"candidates": [
{
"id": "my-browser",
"description": "Read pages in a local browser",
"capabilities": [
"browser"
],
"location": "local",
"available": true,
"cost_usd": 0
}
]
} ↳ routing decision selected fields
{
"tool": "my-browser",
"location": "local",
"execution": "caller",
"strategy": "capability",
"estimated_tool_cost_usd": 0
} Your available tools. Cheapest first. Local wins a price tie.
$ POST /v1/route sandbox.json
{
"tool": "sandbox",
"query": "Run a Python calculation",
"candidates": [
{
"id": "my-sandbox",
"description": "Run Python in a local sandbox",
"capabilities": [
"sandbox"
],
"location": "local",
"available": true,
"cost_usd": 0
}
]
} ↳ routing decision selected fields
{
"tool": "my-sandbox",
"location": "local",
"execution": "caller",
"estimated_tool_cost_usd": 0
} Use the sandbox you already have. Your client runs the task.
Illustrative API examples, not a live session. Decisions use the inventory you supply.
01 / the idea
Don’t rent what you already have.
Your agent already has tools. Give the router a task and a list of what’s available. It picks the cheapest matching tool and returns a decision. Your client handles execution.
- search
- You.com only. Not a preference. Not a fallback.
- everything else
- Match capabilities, check availability, stay inside budget.
- equal price?
- Choose local. Keep the work on your machine.
- nothing fits?
- Return an error. Never silently choose a paid tool.
Search and single-tool matches take the fast path. When several tools qualify, the router checks task suitability before choosing the cheapest. No model settings to configure.
02 / the routes
One search provider. Bring the rest.
| task | where it goes | who runs it |
|---|---|---|
| web search | You.com free MCP profile | your client |
| browser | your available browser tools | your client |
| sandbox | your available sandbox tools | your client |
| anything else | matching tools you supply | your client |
You.com’s free profile currently allows 100 queries/day, subject to its limits. No automatic upgrade to paid search. Candidate capabilities, availability, and prices are supplied by you.
03 / first request
Less ceremony. More building.
Create a Route Tools API key, set ROUTE_TOOLS_API_KEY in your environment, and ask for a route.
curl https://api.route.tools/v1/route \
-H "Authorization: Bearer $ROUTE_TOOLS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tool":"search","query":"TypeScript generics"}' You’ll get the You.com MCP endpoint and tool name back—not search results. Connect your client to that endpoint to run the search.
04 / no asterisks hidden
Free-first. Not a free-everything promise.
The selection endpoint doesn’t debit Route Tools credits. Its default tool budget is $0. Hosting, internal suitability checks, local compute, and remote tools you explicitly budget for may still cost money.
What about the hosted execution API?
/v1/tools/search and the hosted MCP web_search tool also use You.com only, but use the billed API. They are separate from the free, caller-executed MCP route. Other hosted tool categories and the marketplace retain their own pricing.
Does Route Tools run anything on my machine?
No. It selects from the inventory you supply. Your client executes the tool with your existing connections and permissions. It does not install browsers, create local sandboxes, or access your filesystem.