Observed since 21 Oct, 09:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Talk to 500+ AI models from inside Claude Code. One file. Zero config.
Talk to 500+ AI models from inside Claude Code. One file. Zero config. Just works.
"ask deepseek to review this code" — and it does. Without leaving your session.
You're in Claude Code. You're deep in a problem. You want a second opinion from DeepSeek. Or a quick answer from Gemini. Or you want to see how GPT handles a prompt.
Before: Open a new tab. Copy context. Paste. Wait. Copy response. Paste back. Lose your flow.
After:
❯ ask deepseek to review my auth implementation
deepseek/deepseek-r1 (142 in / 891 out · $0.0028):
"Three issues: 1) The JWT expiry is set to 30 days which is too long..."
That's it. One sentence. The model responds inline. You never leave your session.
# 1. Get an API key from https://openrouter.ai/keys
# 2. Add to Claude Code
claude mcp add openrouter -s user \
-e OPENROUTER_API_KEY=sk-or-... \
-- npx openrouter-mcp
# 3. Restart Claude Code. Done.
Or install from source:
git clone https://github.com/anthropics/openrouter-mcp
cd openrouter-mcp && npm install
claude mcp add openrouter -s user \
-e OPENROUTER_API_KEY=sk-or-... \
-- node /path/to/openrouter-mcp/index.js
❯ ask deepseek to explain this regex
❯ ask gemini to find bugs in my code
❯ ask gpt what design pattern fits here
Just say "ask [model]" and Claude routes it through OpenRouter. Token usage and cost shown on every response.
❯ ask the fast model to summarize this file
❯ ask the code model to optimize this function
❯ ask the reason model why this algorithm is O(n²)
| Alias | Model | Best for |
|---|---|---|
fast | gemini-2.5-flash | Quick answers, summaries |
cheap | gemini-2.5-flash | Budget-friendly queries |
smart | gemini-2.5-pro | Complex analysis |
powerful | gemini-2.5-pro | Deep reasoning tasks |
code | deepseek-chat | Code gen, debugging |
reason | deepseek-r1 | Step-by-step logic |
thinking | deepseek-r1 | Chain-of-thought problems |
creative | mistral-large | Writing, brainstorming |
❯ start a thread called "refactor" with deepseek — here's my database module [code]
deepseek: "I see several issues with the connection pooling..."
❯ continue the refactor thread — what about the query builder?
deepseek: "Building on what we discussed, the query builder should..."
The external model remembers the full conversation. Your Claude session stays clean. Delegate complex sub-tasks to a specialist model without polluting your main context.
❯ save a persona called "security_auditor" — expert at finding vulnerabilities, uses deepseek
❯ use the security_auditor persona to review my auth middleware
deepseek (as security_auditor): "Critical: the token validation
doesn't check for algorithm confusion attacks..."
Save a system prompt + model combo once, reuse it by name forever (within the session). Perfect for:
code_reviewer — thorough, opinionated reviewstranslator — technical docs in any languageexplain_like_5 — simplify complex conceptsdevil_advocate — challenge your assumptions❯ set openrouter budget to $2
Budget set to $2.00. Remaining: $2.0000.
❯ how much have I spent on openrouter?
Session usage:
- Calls: 12
- Spent: $0.0847
- Budget: $2.00
- Remaining: $1.9153
Every response already shows inline cost: (142 in / 891 out · $0.0028). Set a hard budget limit and the server blocks requests when you hit it. No surprise bills.
❯ search openrouter models for deepseek
❯ show me free models on openrouter
❯ list google models sorted by cost
❯ what openrouter models have the largest context?
Filter by provider, search by name, sort by cost or context length. 500+ models at your fingertips.
| Tool | What it does |
|---|---|
chat | Send a prompt to any model. Supports aliases, personas, threads |
set_model | Set session default model |
list_models | Browse/search models with filters (provider, cost, context, free) |
save_persona | Save a system prompt + model combo |
list_personas | Show saved personas |
set_budget | Set session spending limit |
get_usage | Show calls, spend, remaining budget |
show_thread | Display a thread's conversation history |
clear_thread | Delete a thread |
Claude Code session
│
│ You: "ask deepseek to review this code"
│
├─ Claude sees your full conversation
│ Composes a prompt with relevant context
│
├─ MCP tool call → openrouter-mcp (stdio)
│ │
│ ├─ Resolves model alias/persona/default
│ ├─ Loads thread history if applicable
│ ├─ Checks budget limit
│ ├─ POST openrouter.ai/api/v1/chat/completions
│ ├─ Tracks token usage + cost
│ └─ Returns response with metadata
│
└─ Claude presents the response to you
Key design decisions:
index.js. Read it in 5 minutes.| Variable | Required | Description |
|---|---|---|
OPENROUTER_API_KEY | ✅ | Your OpenRouter API key |
OPENROUTER_MODEL | ❌ | Initial default model (can also use set_model) |
That's it. No config files.
deepseek/deepseek-r1 (142 in / 891 out · $0.0028):
The actual response text here...
The entire server is index.js — 617 lines, 2 dependencies, zero build step. Read it, fork it, extend it.
openrouter-mcp/
├── index.js ← the entire server
├── package.json
└── README.md
PRs welcome. The bar is simple: does it make the tool more useful without making it more complex?
Good PRs:
Please don't:
MIT
Download counts and popularity will appear here as the collector receives them.
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Public sponsor counts have not been collected. These signals belong to the repository owner.
github · 1 observations shown. Missing days are unknown.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-23 | 0 | 2026-10-23T21:57:51.1465484Z |
Observed since 21 Oct, 09:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:2388531db12e6eb722b2de0109999b957dfebed05fa2fa837d75f7453ed8dc65