Skip to main content
Glama
legifx

ModelRadar MCP

by legifx
README.md
# 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

A3.9/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues