90 days of the enterprise, pro and team plans free, no card needed. See the plans
Agent routing
When a request needs doing rather than answering, send it to an agent; when it needs a lookup, to a tool; when it needs judgement, to a person. One catalogue, one policy, one trace, with MCP servers and A2A agents imported as targets.
Free plan, no card. Open source under Apache-2.0; self-hosting is free forever.
From the benchmark
7
kinds of target ranked together
Models, agents, skills, personas, tools, workflows and human queues share one catalogue format, one policy engine and one trace - the marketplace publishes every kind.
The whole benchmark, with the cases the router lostThe problem
A coding agent, a retrieval tool, a support persona and a human queue each get their own trigger logic, written by hand, in a different place. None of it is priced, none of it is traced, and a rule about personal data has to be written four times.
How the router answers it
llm, agent, skill, persona, tool, workflow and human are first-class kinds with capabilities, a complexity band, cost and latency. The ranking treats them alike.
MCP servers (tools, resources, prompts), A2A agent cards, SKILL.md packages and OpenAI function specs become targets without being rewritten.
A request can route to a plan - persona, then skill, then model - executed step by step with the same policy, budgets and trace.
Watch agents route
A real request
Tool-parameter provenance and resource limits are enforced by the router, so an untrusted argument never reaches a tool unchecked.
from opensmartroute.adapters import connect_mcp_http
http, remote = connect_mcp_http(
"https://tools.example.com/mcp",
api_key="...", resources=True, prompts=True,
)
# every tool, resource and prompt is now a target;
# provenance checks and resource limits apply before any runsRead next
Install
pip install "opensmartroute[yaml]"Or no install at all: the hosted API answers a plain curl with the decision, and the browser extension shows the price and the router's pick under the composer of the AI chat sites you already use.
For the business
Same client, same code
The OpenAI-compatible endpoint answers your existing SDK calls; model=auto lets the router choose.
The SDKsOne URL, every vendor
Point your OpenAI-compatible client at one address; add, swap or retire providers in the catalogue without touching application code.
Every vendor side by sideNext eligible model answers
When a provider is down or over quota the request moves on; the trace says it did.
How the trace shows itOpenSmartRoute is open source and the free plan keeps the full trace of every decision. Create a workspace, mint a key and send the request above.
Free plan, no card. Fifteen thousand decisions a month with the full trace.
Support assistant
Answers from the documentation; checking which model is on duty
Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.