LLM Radar
Offers data on Google's Gemini models, including model IDs, pricing, context windows, capabilities, and release status, allowing AI assistants to search and compare models like Gemini 1.5 Pro and Flash.
Provides current information about OpenAI's AI models, including model IDs, pricing, context windows, capabilities, and status, enabling AI assistants to query and compare models like GPT-4 and GPT-3.5.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LLM Radarcompare GPT-4o and Claude Sonnet"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⚠️ Project Retired (2026-05-01)
LLM Radar is no longer maintained. The daily data pipeline has been disabled and the repository is archived.
The live dashboard and MCP server may stop working as upstream APIs change. The model data in
data/reflects the last update before retirement.Code remains here for reference only. Forks are welcome.
LLM Radar
Real-time AI Model Intelligence via MCP
Skip the search. Your AI already has current model info.
Live Dashboard · Model Reference · MCP Setup · Contributing
What is LLM Radar?
LLM Radar is an MCP server that gives your AI assistant current information about AI models from OpenAI, Anthropic, and Google.
The problem: AI assistants have training cutoffs. Ask about models and you get outdated recommendations, deprecated APIs, or hallucinated pricing.
The solution: Connect LLM Radar and your AI already knows what's available today:
Fetching fresh data from provider APIs daily
Enriching it with Claude for better descriptions
Exposing it via MCP for any compatible client
Related MCP server: tokencost-mcp-server
MCP Server Setup
Install via pip
# Install
pip install llm-radar-mcp
# Or run directly
pip install llm-radar-mcp && llm-radar-mcpClaude Desktop config (local stdio):
{
"mcpServers": {
"llm-radar": {
"command": "llm-radar-mcp"
}
}
}Option 3: Docker
docker run -p 8000:8000 ghcr.io/ajentsor/llm-radar:latestThen connect to http://localhost:8000/sse
Available MCP Tools
Once connected, you can use these tools:
Tool | Description |
| Search/filter models by provider, type, or modality support |
| Side-by-side comparison of specific models |
| Get detailed info about a specific model by API ID |
| List all available model IDs for a provider |
Example Queries
"What models support vision input?"
→ Uses query_models with input_modality="image"
"Compare GPT-4o, Claude Sonnet, and Gemini 2.5 Pro"
→ Uses compare_models with those model IDs
"List all OpenAI model IDs"
→ Uses list_model_ids with provider="openai"Available Resources
The MCP server also exposes resources you can read directly:
Resource URI | Description |
| Complete JSON data |
| OpenAI models only |
| Anthropic models only |
| Google models only |
| Curated recommendations |
How It Works
┌─────────────────────────────────────────────────────────────────┐
│ Daily GitHub Action (8am UTC) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ OpenAI │ │Anthropic │ │ Google │ ← Fetch APIs │
│ │ API │ │ API │ │ API │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ └──────────────┼──────────────┘ │
│ ▼ │
│ ┌──────────────┐ │
│ │ Claude │ ← Enrich & Format │
│ │ (Sonnet) │ │
│ └──────┬───────┘ │
│ │ │
│ ┌─────────────┼─────────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌──────────┐ ┌───────────┐ │
│ │models. │ │ MCP │ │ GitHub │ ← Deploy │
│ │ json │ │ Server │ │ Pages │ │
│ └─────────┘ └──────────┘ └───────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘Data Format
Each model includes:
Field | Description |
| API model identifier |
| Human-friendly name |
| openai, anthropic, or google |
| What the model is best for |
| Max input tokens |
| Input/output cost per 1M tokens |
| vision, function_calling, reasoning, etc. |
| active, preview, or deprecated |
| Release date |
| Use case suggestions |
Local Development
# Clone
git clone https://github.com/ajentsor/llm-radar.git
cd llm-radar
# Install
python3 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
# Run MCP server (stdio mode)
llm-radar-mcp
# Run MCP server (HTTP mode for testing)
llm-radar-mcp --http --port 8000
# Fetch fresh data (requires API keys)
cp .env.example .env
# Edit .env with your API keys
python3 -m llm_radar.fetch_models
python3 -m llm_radar.aggregate_with_claudeProject Structure
llm-radar/
├── src/llm_radar/ # Main package
│ ├── __init__.py
│ ├── mcp_server.py # MCP server implementation
│ ├── fetch_models.py # API fetchers
│ └── aggregate_with_claude.py # Claude enrichment
├── data/
│ ├── models.json # Structured model data
│ ├── MODELS.md # Human-readable reference
│ └── raw/ # Raw API responses
├── docs/ # Landing page (Cloudflare)
├── Dockerfile # Container build
├── docker-compose.yml # Local container setup
├── pyproject.toml # Python package config
└── .github/workflows/
└── update-models.yml # Daily cron jobConfiguration
To run the data fetcher yourself:
# .env file
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=AI...For GitHub Actions, add these as repository secrets.
Self-Hosting
Docker Compose
version: '3.8'
services:
llm-radar:
image: ghcr.io/ajentsor/llm-radar:latest
ports:
- "8000:8000"
restart: unless-stoppedCloudflare Workers / Fly.io / Railway
The MCP server supports HTTP/SSE transport, making it deployable to any platform that supports long-running HTTP connections.
Contributing
See CONTRIBUTING.md for guidelines.
Key areas for contribution:
Additional providers (Cohere, Mistral, etc.)
More MCP tools
Better data enrichment prompts
Documentation improvements
License
MIT License - see LICENSE
Built for developers who want accurate AI model info
Available Tools
4 toolscompare_modelsA
Compare specific models side-by-side. Provide model IDs to get a detailed comparison.
| Name | Required | Description | Default |
|---|---|---|---|
| model_ids | Yes | List of model IDs to compare (e.g., ['gpt-4o', 'claude-opus-4-5-20251101']) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It implies a read operation ('compare') but does not explicitly state it is non-destructive or disclose output details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero wasted words, efficiently conveying the tool's purpose and required input. Front-loaded for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is functional but lacks detail on what 'detailed comparison' entails. No output schema, so additional context on return format would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'model_ids', which is well-described in the schema. The description adds no new semantic meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Compare specific models side-by-side') and resource, distinguishing it from siblings like 'get_model' (single model) and 'list_model_ids' (listing IDs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It instructs to 'Provide model IDs to get a detailed comparison,' but lacks explicit when-to-use or when-not-to-use guidance relative to sibling tools. Implicit differentiation is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_modelA
Get detailed information about a specific model by its API ID.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | The exact model ID used in API calls |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. States 'detailed information' but does not specify what fields are returned or any side effects. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Clearly conveys the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Low complexity tool with 1 parameter and no output schema. Description is adequate but lacks specifics about what 'detailed information' includes, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%. Description merely restates 'by its API ID' which is already in the schema parameter description. Adds no new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (Get), resource (model), and method (by its API ID). Distinguishes from siblings like compare_models and list_model_ids.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage (when you have a model ID and want details), but no explicit when-to-use or when-not-to-use compared to siblings. No alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_model_idsB
List all available model IDs for a provider. Useful for finding exact API identifiers.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No | Filter by provider |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states the action without mentioning if it is read-only, requires authentication, has rate limits, or describes the output format. This minimal disclosure is insufficient for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two short, front-loaded sentences with no redundant information. Every word adds value, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having a single parameter and no output schema, the description fails to mention the return format (e.g., list of strings) or behavior when the optional 'provider' is omitted. This lack of completeness could lead the agent to misuse the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the one parameter 'provider' with description 'Filter by provider'. The tool description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate since the schema already handles parameter clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available model IDs for a provider, using the verb 'List' and the resource 'model IDs'. It differentiates from sibling tools like compare_models, get_model, and query_models by focusing on ID enumeration rather than details or comparisons.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description hints at usage with 'Useful for finding exact API identifiers', but does not explicitly state when not to use this tool or mention alternatives. The context from sibling names provides implicit guidance but the description itself lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_modelsB
Search and filter AI models available via API. Filter by provider, type, or modality support.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No | Filter by provider: 'openai', 'anthropic', or 'google' | |
| model_type | No | Filter by type: 'chat', 'reasoning', 'image', 'audio' | |
| supports_images | No | Only show models that accept image input | |
| supports_audio | No | Only show models that support audio input/output | |
| min_context | No | Minimum context window size in tokens | |
| limit | No | Maximum number of results to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only says 'filter by provider, type, or modality support' which adds minimal behavioral info. It omits return format, pagination, error handling, and any side effects. The schema details parameters but not overall behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The purpose is front-loaded, and every part is functional. It efficiently conveys the tool's action and filter options.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 6 parameters and no output schema, the description does not explain what the response contains (e.g., model IDs, full details). It also lacks usage constraints, limits, or pagination behavior. For a search tool, this leaves significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description summarizes filter dimensions ('provider, type, modality support') but does not add significant meaning beyond what the schema already provides. The mapping from 'type' to 'model_type' is clear, but no extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Search and filter' and clearly identifies the resource as 'AI models available via API'. It distinguishes from sibling tools (compare_models, get_model, list_model_ids) by focusing on search/filter versus comparison, single retrieval, or ID listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when needing to find models by criteria) but does not explicitly state when not to use or provide alternatives. It mentions filter dimensions but lacks guidance on choosing between this and siblings like get_model for exact model lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: comparing models, fetching details, listing IDs, and searching. No overlap.
All tools follow a consistent verb_noun snake_case pattern (compare_models, get_model, list_model_ids, query_models).
Four tools cover the essential operations for exploring AI models without being excessive or insufficient.
The set covers listing, searching, details, and comparison; query_models allows broad searches, so no critical gaps are apparent.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that retrieves and provides AI model information from OpenAI, Anthropic, and Google through a unified interface.317MIT
- AlicenseAqualityDmaintenanceAn MCP (Model Context Protocol) server that provides real-time LLM token pricing data for 60+ AI models across 15 providers.6152MIT
- FlicenseAqualityCmaintenanceAn MCP server for discovering and querying over 300 AI models available on OpenRouter. It enables users to list, search, filter, compare, and get detailed information about models with pricing, context limits, and capabilities.51
- AlicenseNot gradedqualityBmaintenanceMCP server that enables agents to dynamically switch between multiple AI models (OpenAI, Anthropic, Google, etc.) with unified protocol-driven configuration and capability discovery.Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajentsor/llm-radar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server