Claude Model Router
FreeNot checkedRoutes each task to the cheapest Claude model that still clears the quality bar — a Claude Code skill + MCP server that optimizes total cost to an acceptable an
About
Routes each task to the cheapest Claude model that still clears the quality bar — a Claude Code skill + MCP server that optimizes total cost to an acceptable answer, not sticker price.
README
Route every task to the cheapest Claude model that still gets it right — and cut cost by ~60% vs always using the top model.

The catch it solves: the cheapest model is not the cheapest answer. Underpower a hard task and it fails, you retry on a bigger model, and you've paid twice. This router picks the right tier the first time — and escalates automatically if it's wrong.
- ✅ 100% routing accuracy on a held-out test set
- ✅ ~60% cheaper than always-top
- ✅ Pure Python, stdlib-only — nothing to
pip install
Requirements
- Python 3.9+
- (optional) the
claudeCLI — lets the installer auto-register the MCP server
Install
git clone https://github.com/manishk753/claude-model-router.git
cd claude-model-router
./install.sh
Installs the Claude Code skill, registers the MCP server (if claude is on your PATH), and runs a smoke test. Re-running is safe. Restart Claude Code afterward so the tools load.
Want just one piece?
| Command | Installs |
|---|---|
./install.sh |
Skill + MCP server (all projects) |
./install.sh --skill |
Skill only |
./install.sh --mcp-user |
MCP server only (all projects) |
./install.sh --mcp |
MCP server only (this project) |
./install.sh --help |
Show help |
Use it
Run the examples below from the repo directory.
1. Command line
python3 -m router "Debug this race condition in our async job queue"
Returns JSON: model, tier, complexity, confidence, rationale, escalate_to.
Force the top tier for high-stakes work:
python3 -m router "Delete inactive users in production" --context '{"critical": true}'
2. Claude Code (skill)
Type /model-router <task>. Claude routes, then uses the returned tier's model — cheap → haiku, mid → sonnet, high → opus, top → fable.
3. MCP server
Exposes one tool: route_task(task, critical?, context_tokens?). The installer registers it for you. To do it by hand from the repo directory:
claude mcp add --scope user model-router -- python3 "$(pwd)/router/mcp_server.py"
Claude Desktop — add to claude_desktop_config.json (use the absolute path to router/mcp_server.py):
{"mcpServers": {"model-router": {
"command": "python3",
"args": ["/absolute/path/to/claude-model-router/router/mcp_server.py"]
}}}
4. Python API
pip install anthropic # only this path needs it
from router.dispatcher import dispatch
response, decision, attempts = dispatch("Debug this race condition: ...")
dispatch() routes, calls the chosen model, and auto-escalates one tier on failure.
Try the eval
python3 eval/run_eval.py # scores every strategy, prints a table
python3 eval/run_test.py # held-out set + writes eval/test_report.html
Configure
All model IDs, prices, tier cutoffs, and weights live in config.json — no code changes needed.
⚠️ Model IDs and prices change over time. Verify them against the live API.
Tune: run python3 eval/run_eval.py, read the misroute list, then adjust tier_cutoffs first, weights second, keyword banks last.
How it works
Free deterministic heuristics handle clear cases. A tiny Haiku classifier breaks ties only on ambiguous tasks. A capped escalation path catches the rest. Full decision contract and rules: SKILL.md.
Installing Claude Model Router
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/manishk753/claude-model-routerFAQ
Is Claude Model Router MCP free?
Yes, Claude Model Router MCP is free — one-click install via Unyly at no cost.
Does Claude Model Router need an API key?
No, Claude Model Router runs without API keys or environment variables.
Is Claude Model Router hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Claude Model Router in Claude Desktop, Claude Code or Cursor?
Open Claude Model Router on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Claude Model Router with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
