Skip to main content

model-radar

MCP server that pings free coding LLM models across HTTPS providers and subscription CLIs (Claude Code, Grok, Antigravity/agy, Codex), ranks them by latency, and helps AI agents pick the fastest available model — or pin several subscriptions for a parallel review.

Inspired by free-coding-models.

Install

pip install model-radar-mcp

Quick Start

1. Configure an API key

# Option A: Save to ~/.model-radar/config.json
model-radar configure nvidia nvapi-xxx

# Option B: Environment variable
export NVIDIA_API_KEY=nvapi-xxx

Or copy the template: cp config.example.json ~/.model-radar/config.json and edit it.

2. Add to your MCP client

Claude Code (~/.claude/settings.json):

{
  "mcpServers": {
    "model-radar": {
      "command": "model-radar",
      "args": ["serve"]
    }
  }
}

Cursor (~/.cursor/mcp.json):

Stdio (Cursor starts the server):

{
  "mcpServers": {
    "model-radar": {
      "command": "/path/to/your/.venv/bin/model-radar",
      "args": ["serve"]
    }
  }
}

Streamable HTTP (persistent server — recommended):

{
  "mcpServers": {
    "model-radar": {
      "url": "http://127.0.0.1:8743/mcp",
      "transportType": "streamable-http"
    }
  }
}

Start the server first:

model-radar serve --transport sse --port 8743

OpenClaw (~/.openclaw/config/mcporter.json):

{
  "mcpServers": {
    "model-radar": {
      "type": "http",
      "url": "http://127.0.0.1:8743/mcp"
    }
  }
}

Web dashboard: Add --web for a localhost UI at http://127.0.0.1:8743/ for status, config, discovery, and running prompts. The server binds to 127.0.0.1 only; keys never leave your machine.

model-radar serve --transport sse --port 8743 --web

Auto-restart wrapper:

while true; do model-radar serve --transport sse --port 8743; sleep 1; done

Then call restart_server() from any MCP client to reload with updated code.

3. CLI usage

# Scan models
model-radar scan --min-tier S --limit 10

# List providers
model-radar providers

# Save a key
model-radar configure nvidia nvapi-xxx

Catalogs are live

Model ids are not a hardcoded list. On startup, once an hour, and after a completion 404, model-radar fetches each provider’s /v1/models (Ollama /api/tags, grok models / agy models) and replaces that provider’s catalog — new ids in, retired ids gone. GET /v1/models is free; completions are what you pay for.

Seed tuples in the package are a fallback plus SWE-bench overlays for known ids. See Catalog playbook.

model-radar db refresh              # force live replace
python scripts/catalog-report.py    # seed vs live vs missing keys (no secrets)

Providers

HTTPS providers take an API key (configure_key or env). Call list_providers() for the current count and key status.

Provider Env Var Notes
NVIDIA NIM NVIDIA_API_KEY Rate-limited, no expiry
Groq GROQ_API_KEY Free tier
Cerebras CEREBRAS_API_KEY Small, fast; catalog rotates often
SambaNova SAMBANOVA_API_KEY $5 credits / 3 months
OpenRouter OPENROUTER_API_KEY :free ids change frequently
Hugging Face HF_TOKEN / HUGGINGFACE_API_KEY Free monthly credits
Replicate REPLICATE_API_TOKEN Dev quota
DeepInfra DEEPINFRA_API_KEY Free dev tier
Fireworks FIREWORKS_API_KEY $1 free credits
Codestral/Mistral CODESTRAL_API_KEY 30 req/min, 2000/day
Hyperbolic HYPERBOLIC_API_KEY $1 free trial
Scaleway SCALEWAY_API_KEY 1M free tokens
Google AI GOOGLE_API_KEY 14.4K req/day
SiliconFlow SILICONFLOW_API_KEY Free model quotas
Together AI TOGETHER_API_KEY Credits vary
Cloudflare CLOUDFLARE_API_TOKEN 10K neurons/day
Perplexity PERPLEXITY_API_KEY Tiered limits
xAI XAI_API_KEY Or use the grok CLI instead
Inference.net INFERENCE_NET_API_KEY Free tier
SEA-LION SEALION_API_KEY Free tier
MiniMax MINIMAX_API_KEY api.minimax.io (M3). Same token works on /anthropic — do not set ANTHROPIC_AUTH_TOKEN globally
Ollama none (local daemon) Models already pulled on 127.0.0.1:11434

CLI subscriptions

If you already pay for a monthly plan, model-radar can ride that subscription — no API key. The official CLI is auto-detected from $PATH at startup.

CLI Rides Login
claude Claude Pro / Max claude auth login
grok SuperGrok grok login
agy (provider key gemini) Google AI Pro/Ultra / Gemini run agy once to sign in
codex ChatGPT Plus / Pro codex login

The old gemini CLI was deprecated (June 2026) in favor of Antigravity CLI (agy). Install: curl -fsSL https://antigravity.google/cli/install.sh | bash. agy models may also list Claude and GPT-OSS on the same login. Codex-in-agy is a conversation mode; for model-radar use the standalone codex CLI.

These never join get_fastest() / default ask() — that would spend quota by accident. Pin them:

ask(prompt="Review this paragraph…", providers=["claude", "grok", "gemini"])
ask(prompt="…", model_ids=["sonnet", "grok-4.6"])

MCP Tools

Discovery

  • list_providers() — See all providers, API-key status, and installed subscription CLIs
  • list_models(tier?, provider?, min_tier?, free_only?) — Browse the catalog (refreshes a provider if its list is older than an hour)
  • scan(verify?) — Ping models in parallel, ranked by latency. verify=True checks for non-empty output.
  • get_fastest(min_tier?, count?, free_only?, verified?) — Best N models right now
  • get_workers(count?, min_tier?, verified?) — N verified-alive models from N distinct providers
  • provider_status() — Per-provider health check

Execution

  • run(prompt, model_id?, free_only?) — Execute on fastest model with auto-fallback
  • ask(prompt, count=3, model_ids?, providers?) — Same prompt on N models (Ollama sequential, remotes parallel)
  • recommend(job) — Short diverse lineup for translate / rewrite / review / code / dict
  • quality_probe(job) — Time + pass/fail on a fixed prompt (dict = Paper B five headwords)
  • still_free(speed?) — Which Lane A hosts still answer; up to 3 chat models each in parallel (speed=fast prefers small/flash ids)
  • batch_run(prompts, results_file?) — Batch execution with incremental JSONL, resume support, adaptive concurrency

Evaluation (LLM-as-Judge)

  • judge(prompt, rubric, count=3, exclude_providers?) — Rate a single item with N diverse judges (pass the producer to exclude)
  • compare(item_a, item_b, blind=True) — Blind A/B comparison, randomized order per judge
  • batch_judge(items, rubric, results_file?) — Evaluate at scale with incremental results
  • backtranslate_eval(..., exclude_providers?) — Back-translation quality metric; do not use the producer

Quality & Setup

  • benchmark(model_id?) — Quality-test with 5 coding challenges
  • refresh_models() — Fetch live lists and replace each provider’s catalog (purge retired ids)
  • setup_guide(provider?) — Setup instructions for unconfigured providers
  • configure_key(provider, api_key) — Save an API key
  • restart_server() — Restart for code updates (SSE mode)
  • server_stats() — Uptime and start time

Tier Scale (SWE-bench Verified)

Tier Score Meaning
S+ 70%+ Elite frontier coders
S 60-70% Excellent
A+ 50-60% Great
A 40-50% Good
A- 35-40% Decent
B+ 30-35% Average
B 20-30% Below average
C <20% Lightweight/edge

Documentation

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

model_radar_mcp-0.12.0.tar.gz (97.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

model_radar_mcp-0.12.0-py3-none-any.whl (113.1 kB view details)

Uploaded Python 3

File details

Details for the file model_radar_mcp-0.12.0.tar.gz.

File metadata

  • Download URL: model_radar_mcp-0.12.0.tar.gz
  • Upload date:
  • Size: 97.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for model_radar_mcp-0.12.0.tar.gz
Algorithm Hash digest
SHA256 e496b48ecdc3a0456fd316608e5acf62056c3f963f8a67e1fb40602779f74765
MD5 e0507236f2cc63c396536ba0d874234c
BLAKE2b-256 e03013cfa345f3b3be98eaa996b0eb28279e088ff00c9379a0531530fa9c2bcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for model_radar_mcp-0.12.0.tar.gz:

Publisher: publish.yml on srclight/model-radar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file model_radar_mcp-0.12.0-py3-none-any.whl.

File metadata

File hashes

Hashes for model_radar_mcp-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb79fe0a2ecba681b548f0a3a60a2b2869215884437df2897b296c48382b2187
MD5 4a33e759a5d42cfc4db9d69e85415415
BLAKE2b-256 e68e0b2cdf10103b0afbeb4501c8c3241c74afeaf7b4b18814896f393719588c

See more details on using hashes here.

Provenance

The following attestation bundles were made for model_radar_mcp-0.12.0-py3-none-any.whl:

Publisher: publish.yml on srclight/model-radar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page