ModelRadar MCP
# ModelRadar MCP
An [MCP](https://modelcontextprotocol.io) server that turns the curated
[ModelRadar](https://modelradar-one.vercel.app) catalog into a **model router**
between [OpenRouter](https://openrouter.ai) and your CLI / agent.
- 🔎 **Discover** — search the catalog, read the latest releases straight from the RSS feed
- 🧠**Route** — given a need (coding, cheap, open-weights, long-context, multimodal…), get the best OpenRouter-routable model with **live pricing** and a rationale
- ⚡ **Execute** — optionally run the completion through OpenRouter on the chosen model (recommend → route → answer + cost)
Dependency-free. One file, Node ≥ 18, no build step.
## Tools
| Tool | What it does |
|------|--------------|
| `modelradar_search` | Filter the catalog by type / country / open-weights / min-context / query |
| `modelradar_get` | Full details for one model (id, name, or OpenRouter id) |
| `modelradar_latest` | Latest releases from the ModelRadar **RSS feed** |
| `modelradar_recommend` | Rank the best routable models for a need (live OpenRouter pricing + why) |
| `modelradar_run` | Route **and execute**: pick a model and run a completion via OpenRouter (needs `OPENROUTER_API_KEY`) |
## Install / run
```bash
npx modelradar-mcp # or: git clone … && node server.mjs
```
The server speaks MCP over stdio.
### Claude Code
```bash
claude mcp add modelradar -- npx -y modelradar-mcp
# enable routing+execution:
claude mcp add modelradar -e OPENROUTER_API_KEY=sk-or-... -- npx -y modelradar-mcp
```
### Claude Desktop / generic MCP client (`mcpServers`)
```json
{
"mcpServers": {
"modelradar": {
"command": "npx",
"args": ["-y", "modelradar-mcp"],
"env": { "OPENROUTER_API_KEY": "sk-or-..." }
}
}
}
```
## Environment
| Var | Required | Default |
|-----|----------|---------|
| `OPENROUTER_API_KEY` | only for `modelradar_run` | – |
| `MODELRADAR_URL` | no | `https://modelradar-one.vercel.app` |
> The key is read from the MCP process env only. Never commit it.
## Examples
```jsonc
// "cheapest open-weight coding model"
modelradar_recommend { "task": "coding", "open_weights": true, "prefer": "cheap" }
// → Granite 4.1 8B ibm-granite/granite-4.1-8b $0.05/MTok in …
// route + run in one call
modelradar_run { "prompt": "Refactor this function…", "task": "coding", "prefer": "cheap" }
// → routed_to: ibm-granite/granite-4.1-8b · text: … · estimated_cost_usd: 0.0000x
```
## How it works
ModelRadar curates the model catalog (`/api/models`) and publishes new releases
via RSS (`/feed.xml`). This server reads both, enriches routable models with live
OpenRouter pricing, scores them against your request, and (optionally) executes the
chosen model through the OpenRouter chat API. ModelRadar is the **map**; OpenRouter
is the **road**; this MCP is the **router** in between.
## License
MIT
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: search, get details, latest releases, recommend, and run. There is no overlap in their functions, and an agent can easily select the right tool based on the action needed.
All tools follow the same 'modelradar_' prefix with a simple verb suffix (search, get, latest, recommend, run). This consistent pattern makes the toolset predictable and easy to navigate.
The 5 tools are well-scoped for the server's purpose: discovering, inspecting, and running AI models. Each tool earns its place, and the count is neither too thin nor overwhelming.
The tool surface covers the full workflow: search to find models, get to fetch details, latest to see new releases, recommend to choose a model, and run to execute. There are no obvious dead ends or missing core operations for the stated domain.