Find a model for a task
Describe the task to your own agent and get 3–5 Stav models with reasons, prices and where they run — and a Router — without the task text ever reaching Stav.
Stav has close to two hundred models, each with scores, prices, endpoints and policy facts. You do not need to know them. Describe the task to the agent you already use — Claude Desktop, Claude Code, Cursor, Codex or any MCP client — and let it ask the catalogue.
Two things stay true however the agent does it:
- Stav never reads your task. The agent turns what you said into structured filters — a use case, capabilities, strength minimums, where the model must run, a price cap. No tool on Stav's MCP server takes prose.
- Every list is a catalogue ranking. It comes from recorded facts and benchmark-derived scores. It is not what the Smart Router picks for a live request; the agent can show you that separately with a dry run.
Set-up
- Connect your MCP client to your workspace.
- Either pick the find_a_model prompt in your client, or install the
public skill from
stavhq/customer-skills(find-a-model). Both carry the same instructions.
What you can ask
| You say | What the agent does |
|---|---|
| "Answer customer emails in Norwegian, with tools, EU compute, zero retention, cheapest that is good enough" | One models_shortlist call with use_case, capabilities, a multilingual strength minimum, runs_in: eu, zdr, your volume → 3–5 models, each with the reasons, the price per 1,000 emails and the countries it runs in. Then a Router, if you want one. |
| "I use gpt-4o. Find EU-sovereign models of about the same quality for less" | Comparable models, the quality gap and the cost gap. |
| "A model for Claude Code: long context, tools, strong at engineering" | Ranked on the coding and long-context strengths; a cheap-first Router with a strong model behind it. |
| "Read PDF invoices and return JSON" | Only models with PDF input and structured output, cheapest first. |
| "Why is Llama X not on the list?" | The exact rule that removed it — "no endpoint in the EU", "no tool calling", "coding below 70, or not measured". |
How to read an answer
Each line the agent gives you comes from structured facts:
- Strength and percentile — the model's score on an axis (coding, reasoning, multilingual, …) and where that sits among the models you can call today.
- Use-case fit —
strongoracceptable, set by a curator for the model or inherited from its family. The answer says which. - Price — the cheapest qualifying Provider Endpoint's price per million tokens, in your workspace currency; with a volume, the cost per request, per 1,000 requests and per month.
- Where it runs — the compute countries, the Sovereignty Ladder rung, zero data retention and no-training, on the endpoint that qualifies.
- Not measured — a model with no score on an axis is never given one. It fails a minimum on that axis, scores nothing on it, and sorts last. The agent says "not measured" rather than guessing.
From a shortlist to a Router
Ask for a Router and the agent calls routers_suggest, which returns an
unsaved configuration: the shortlist as the allow-list, plus only the
rules the gateway enforces — required capabilities, zero retention,
no-training, a compute region, a sovereignty floor, an objective preset.
Requirements a Router cannot express by itself (a single country, a use case, a
price cap) are held by the allow-list, and the answer says so.
The agent shows you the config. On your yes it creates the Router and hands
you the link to its page in Your workspace. A new Router is live at once under
its own name — nothing routes to it until you send a request with
model: "@your-workspace/<router-slug>". The agent never makes it the
workspace default unless you ask.
To change a Router you already have, the agent edits a draft, dry-runs it
with routers_try, and publishes — the published version keeps serving
until then.
Limits
- Up to 10 models per shortlist; 30 shortlists a minute per workspace.
- Chat models carry no language list, so a language narrows only embedding
and transcription models; for chat, the
multilingualstrength is the measure. - The estimate is from today's cheapest qualifying price and the token counts you gave; the bill is what the request actually used.