MCP server for OpenRouter model discovery
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openrouter_mcp-1.0.0.tar.gz.
File metadata
- Download URL: openrouter_mcp-1.0.0.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6883d05cd390890c2db0776a935ee7863d3d5ccaaf2da8b8d17586bf8ac5b745
|
|
| MD5 |
15b1d14bc126ee71a628e97307d4f046
|
|
| BLAKE2b-256 |
1986302a84551f96fff90f274b80c150947855b35e9c01ee87dfe163e3307569
|
Provenance
The following attestation bundles were made for openrouter_mcp-1.0.0.tar.gz:
Publisher:
pypi-publish.yml on lumishoang/openrouter-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openrouter_mcp-1.0.0.tar.gz -
Subject digest:
6883d05cd390890c2db0776a935ee7863d3d5ccaaf2da8b8d17586bf8ac5b745 - Sigstore transparency entry: 1344967881
- Sigstore integration time:
-
Permalink:
lumishoang/openrouter-mcp@046b439bc855db54bded5eca7ccd5550f6755bb1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/lumishoang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@046b439bc855db54bded5eca7ccd5550f6755bb1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file openrouter_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: openrouter_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69adcfda21d6ea8be78feacd075018e8df20a93a5e5d89dd3c71fa8f1e05a285
|
|
| MD5 |
ee27f03543ded3ecc91638cd76e0c7e6
|
|
| BLAKE2b-256 |
9182b32aaa5fc792eb2ac3829a210259d31bbf429997b1a04ef05d4d967b3ba5
|
Provenance
The following attestation bundles were made for openrouter_mcp-1.0.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on lumishoang/openrouter-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openrouter_mcp-1.0.0-py3-none-any.whl -
Subject digest:
69adcfda21d6ea8be78feacd075018e8df20a93a5e5d89dd3c71fa8f1e05a285 - Sigstore transparency entry: 1344967978
- Sigstore integration time:
-
Permalink:
lumishoang/openrouter-mcp@046b439bc855db54bded5eca7ccd5550f6755bb1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/lumishoang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@046b439bc855db54bded5eca7ccd5550f6755bb1 -
Trigger Event:
release
-
Statement type: