OpenRouter MCP Server
MCP (Model Context Protocol) server for discovering and querying 300+ AI models available on OpenRouter.
Features
- List models — Browse all available models with pricing, context limits, and capabilities
- Search & filter — Find models by provider, price, context length, features (tools, vision, etc.)
- Compare models — Side-by-side comparison of multiple models
- Get details — Full metadata for any specific model
- Cached responses — 5-minute cache to reduce API calls
Installation
pip install openrouter-mcp
Usage
With OpenClaw
Add to your openclaw.json:
{
"mcp": {
"servers": {
"openrouter-models": {
"command": "openrouter-mcp",
"env": {
"OPENROUTER_API_KEY": "your-api-key"
}
}
}
}
}
OPENROUTER_API_KEYis optional but recommended for higher rate limits.
Standalone (stdio)
export OPENROUTER_API_KEY=your-key
python -m openrouter_mcp.server
Available Tools
| Tool | Description |
|---|---|
list_models |
List all models with optional modality filter and sorting |
get_model |
Get detailed info for a specific model by ID |
search_models |
Search and filter models by query, provider, price, context, features |
compare_models |
Compare multiple models side by side |
refresh_cache |
Force refresh the model cache from OpenRouter API |
Examples
List models sorted by context length
{
"name": "list_models",
"arguments": {
"modality": "text",
"sort_by": "context_length"
}
}
Search for Claude models under $5/1M tokens
{
"name": "search_models",
"arguments": {
"query": "claude",
"provider": "anthropic",
"max_input_price": 5.0,
"requires_tools": true
}
}
Compare 3 models
{
"name": "compare_models",
"arguments": {
"model_ids": "anthropic/claude-sonnet-4.6,qwen/qwen3.6-plus,openai/gpt-5.4"
}
}
Get model details
{
"name": "get_model",
"arguments": {
"model_id": "anthropic/claude-sonnet-4.6"
}
}
API Reference
list_models(modality, sort_by)
modality(str, default: "text"): Filter by output type. Options:text,image,audio,embeddings,allsort_by(str, default: "name"): Sort by:name,created,price,context_length
get_model(model_id)
model_id(str, required): Model slug, e.g.anthropic/claude-sonnet-4.6
search_models(query, provider, max_input_price, min_context, requires_tools, requires_vision, free_only)
query(str): Free-text search in model name/id/descriptionprovider(str): Filter by provider (e.g.anthropic,google,openai)max_input_price(float): Max input price per 1M tokens (0 = no limit)min_context(int): Minimum context window sizerequires_tools(bool): Only models supporting tool callingrequires_vision(bool): Only models with vision/image inputfree_only(bool): Only free models
compare_models(model_ids)
model_ids(str, required): Comma-separated list of model IDs
refresh_cache()
Force refresh the model cache from OpenRouter API.
Rate Limits
- Without API key: 20 requests/minute
- With API key: 200 requests/minute
- Model data is cached for 5 minutes
Get your API key at: https://openrouter.ai/keys
License
MIT
Contributing
Contributions welcome! Please open an issue or PR on GitHub.
Metadata
Release files for openrouter-mcp 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openrouter_mcp-1.0.0.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openrouter_mcp-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.7 kB
Release files / openrouter_mcp-1.0.0.tar.gz
| Download URL | openrouter_mcp-1.0.0.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6883d05cd390890c2db0776a935ee7863d3d5ccaaf2da8b8d17586bf8ac5b745
|
|
BLAKE2b-256 checksum How to use checksums |
1986302a84551f96fff90f274b80c150947855b35e9c01ee87dfe163e3307569
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.
Transparency logRelease files / openrouter_mcp-1.0.0-py3-none-any.whl
| Download URL | openrouter_mcp-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69adcfda21d6ea8be78feacd075018e8df20a93a5e5d89dd3c71fa8f1e05a285
|
|
BLAKE2b-256 checksum How to use checksums |
9182b32aaa5fc792eb2ac3829a210259d31bbf429997b1a04ef05d4d967b3ba5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.
Transparency log