<p align="center"> <a href="https://www.orcarouter.ai"> <img src="https://raw.githubusercontent.com/Continuum-AI-Corp/orcarouter-mcp-server/main/assets/logo.gif" alt="OrcaRouter" width="180" /> </a> </p>
<h1 align="center">OrcaRouter MCP Server</h1>
<p align="center"> Official MCP server for the <a href="https://www.orcarouter.ai">OrcaRouter</a> LLM gateway. </p>
<p align="center"> <a href="https://discord.com/invite/943Zqp9bs"><img src="https://img.shields.io/discord/1501106943178309662?logo=discord&label=discord&color=5865F2" alt="Discord" /></a> <a href="https://x.com/OrcaRouter"><img src="https://img.shields.io/badge/X-Follow-000000?logo=x&logoColor=white" alt="X" /></a> <a href="https://www.npmjs.com/package/@orcarouter/mcp"><img src="https://img.shields.io/npm/v/@orcarouter/mcp" alt="npm version" /></a> <a href="https://github.com/Continuum-AI-Corp/orcarouter-mcp-server/actions/workflows/test.yml"><img src="https://github.com/Continuum-AI-Corp/orcarouter-mcp-server/actions/workflows/test.yml/badge.svg" alt="CI" /></a> <a href="https://smithery.ai/servers/continuum-ai-corp/orcarouter-mcp"><img src="https://smithery.ai/badge/continuum-ai-corp/orcarouter-mcp" alt="Smithery" /></a> </p>
<p align="center"> <a href="README.md">English</a> | <a href="README.ja.md">ζ₯ζ¬θͺ</a> | <a href="README.zh-CN.md">δΈζ</a> | <a href="README.ko.md">νκ΅μ΄</a> | <a href="README.de.md">Deutsch</a> | <a href="README.fr.md">FranΓ§ais</a> | <a href="README.es.md">EspaΓ±ol</a> | <a href="README.it.md">Italiano</a> | <a href="README.ru.md">Π ΡΡΡΠΊΠΈΠΉ</a> | <a href="README.pt.md">PortuguΓͺs</a> | <a href="README.vi.md">TiαΊΏng Viα»t</a> | <a href="README.hi.md">ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯</a> </p>
<br/>
Browse OrcaRouter's model catalog and run chat completions from inside any Model Context Protocol client β Claude Desktop, Claude Code, Cursor, Windsurf, Zed, or anything else that speaks the protocol.
Catalog browsing works without an API key β compare pricing and capabilities before signing up.
What you can do
- πΊοΈ Discover providers and models without an API key
- π¬ Run chat completions through any served model
- π§ Auto-route requests through your workspace's
orcarouter/autorouter (cost / quality / balanced / LinUCB / gated-adaptive strategies) - π Configure fallback chains (primary + up to 4 fallbacks) for resilience
- π Filter models server-side by provider, capability, or minimum context window
- π― Inspect detailed model cards: pricing, context, latency, supported endpoints
- π Works with Claude Desktop, Claude Code, Cursor, Windsurf, Zed, and any MCP client
Examples
Try saying things like:
- "List all providers on OrcaRouter"
- "Show me all Anthropic models with their pricing"
- "Get details about
minimax/minimax-m2.7" - "Chat with
orcarouter/autoand explain quantum computing"
Quick Start
Claude Code (CLI one-liner)
claude mcp add orcarouter -s user \
-e ORCAROUTER_API_KEY=sk-orca-your-key \
-- npx -y @orcarouter/mcp
Other clients (config-file path)
- Copy the example config for your MCP client into the client's config file:
| Client | Example | Action | | --------------- | --------------------------------------------------- | ------- | | Claude Desktop | claude-desktop.json | Replace | | Claude Code | claude-code.json | Merge | | Cursor | cursor.json | Replace | | Windsurf | windsurf.json | Replace |
See examples/README.md for the config-file paths and notes on Zed and other clients.
- Replace
sk-or-...in the copied file with your OrcaRouter API key. - Restart your MCP client.
The root .mcp.json is the same config in the Open Plugins standard location, so registry/discovery tools that scan for it (e.g. cursor.directory) can pick this server up automatically.
Requires Node.js 18 or later. The ORCAROUTER_API_KEY env var is only required for orcarouter_chat; catalog tools work without it.
Tools
orcarouter_chatβ run a chat completion (with optional fallback chain)orcarouter_models_listβ browse the catalog (pricing, context, capabilities)orcarouter_model_cardβ detailed info for one modelorcarouter_providers_listβ list providers with model counts
Full input schemas are exposed at runtime via the MCP tools/list method β your MCP client (Claude Desktop, Cursor, etc.) reads them automatically.
Configuration
| Name | Required | Description | | --------------------------- | -------- | -------------------------------------------------------- | | ORCAROUTER_API_KEY | optional | OrcaRouter API key. Required only for orcarouter_chat. | | ORCAROUTER_BASE_URL | optional | API base URL. Defaults to https://api.orcarouter.ai. | | ORCAROUTER_REQUEST_TIMEOUT| optional | Per-request HTTP timeout in seconds. Defaults to 300. |
Security
API keys are read from environment variables, never logged, and only sent to the OrcaRouter API. See SECURITY.md for the vulnerability disclosure policy.
Development
# bun (preferred)
bun install
bun run test
bun run typecheck
bun run build
# or with npm
npm install
npm test
npm run typecheck
npm run build
The build produces an ESM bundle at dist/index.js with a #!/usr/bin/env node shebang, runnable as the orcarouter-mcp binary.
Contributing
See CONTRIBUTING.md. For newcomer-friendly tasks, browse the good first issue label.











