Skip to main content
Glama

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/auto router (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

Related MCP server: whichmodel-mcp

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/auto and 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)

  1. 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.

  2. Replace sk-or-... in the copied file with your OrcaRouter API key.

  3. 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 model

  • orcarouter_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.

License

MIT

Available Tools

4 tools
orcarouter_chatA

Send a single-turn chat request to OrcaRouter and return the assistant's response text. Default model is the workspace's auto-router. Use orcarouter/<name> for other routers or <provider>/<model> for direct calls. For OpenAI reasoning models (gpt-5/o1/o3/...), max_tokens is automatically routed to max_completion_tokens at the wire level. The optional models array sets a fallback chain — the primary model is tried first, then each entry on failure (5 entries total max, including the primary). Errors are returned as text content with isError:true; common cases include missing API key, rate limits, and upstream provider outages. Requires ORCAROUTER_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to call. Defaults to `orcarouter/auto` — your workspace's seeded auto-router. Use `orcarouter/<name>` for other workspace routers, or `<provider>/<model>` for direct upstream selection (e.g. `openai/gpt-4o-mini`, `anthropic/claude-haiku-4.5`).orcarouter/auto
promptYesUser message to send (single-turn).
system_promptNoOptional system prompt prepended to the conversation.
max_tokensNoMaximum tokens to generate (default 10000). Automatically translated to max_completion_tokens for OpenAI reasoning models.
temperatureNoSampling temperature (default 0.7).
modelsNoOptional fallback chain. Models are tried in order if the primary fails. Max 5 entries including the primary.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (no readonly, not destructive), the description details automatic max_tokens routing for reasoning models, fallback chain behavior, error representation (isError:true), common failure cases, and required API key. This enriches agent understanding of side effects and operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph of 5 sentences, front-loaded with the primary purpose. Every sentence adds essential information (model routing, fallback, error handling, auth) without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers input usage, error handling, authentication requirements, and behavioral nuances. The sibling tools are all list/info tools, so this tool's role is clearly the primary action tool. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 6 parameters. The description adds value beyond schema by explaining the automatic max_completion_token routing for reasoning models and confirming the fallback chain behavior, which is not fully detailed in the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Send a single-turn chat request to OrcaRouter and return the assistant's response text,' specifying verb (send), resource (chat request), and outcome. It distinguishes from siblings (model_card, models_list, providers_list) which are information retrieval tools, not action tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use default model vs. other routers or direct providers, the fallback chain, error handling, and authentication. It lacks explicit 'when not to use' but the sibling tools are clearly different, so usage context is well established.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orcarouter_model_cardA
Read-onlyIdempotent

Get detailed information about a single model — display name, long description, pricing (per-call and per-million tokens), context window, max output, modalities (input/output), supported endpoints, latency percentiles (p50/p95), and release date. Use this when you already know the model id and want full details; for browsing or filtering across many models use orcarouter_models_list instead. Returns isError:true with a clear hint when the id is not found. Read-only, no API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel ref in `provider/slug` form (e.g. `openai/gpt-4o-mini`, `anthropic/claude-haiku-4.5`). Use the exact `id` value returned by orcarouter_models_list.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds error behavior ('isError:true with hint on not found') and confirms read-only and no API key, consistent with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Efficient, front-loaded sentences with no waste; each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given single parameter, no output schema, and informative annotations, description covers all necessary context including error and auth.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers parameter description fully; description adds practical guidance on using exact id from sibling tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it gets detailed info about a single model, listing specific fields. Differentiates from sibling orcarouter_models_list by purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use when model id is known and full details are needed, and directs to orcarouter_models_list for browsing/filtering.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orcarouter_models_listA
Read-onlyIdempotent

List LLM models in the OrcaRouter catalog. Each entry includes id, name, description, owned_by, context_length, supported_endpoint_types, and pricing (both per-token and per-million tokens). Filter by provider, capability, or min_context — filters compose (all conditions must match) and are applied server-side. Discover valid provider ids first with orcarouter_providers_list. Returns the full catalog when called without filters. Read-only, no API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoProvider id (lowercase, e.g. 'openai', 'anthropic'). Get the full list via orcarouter_providers_list.
capabilityNoFilter to models supporting this capability.
min_contextNoFilter to models with context window at least this large (tokens).

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, non-destructive behavior. The description reinforces 'Read-only, no API key required' and explains filter composition behavior, adding transparency beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4 sentences), front-loaded with purpose and output details, and contains no unnecessary information. Every sentence is informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description details the returned fields (id, name, description, owned_by, context_length, supported_endpoint_types, pricing). It covers filtering behavior and prerequisites, making the tool fully understandable for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters with descriptions (100% coverage). The description adds value by explaining filter composition, server-side filtering, and provider id format (lowercase), which enhances meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists LLM models from the OrcaRouter catalog, specifies included fields, and distinguishes itself from sibling tools like orcarouter_chat, orcarouter_model_card, and orcarouter_providers_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains filter composition (all conditions must match), server-side filtering, and suggests using orcarouter_providers_list first. It lacks explicit when-not-to-use guidance but provides sufficient context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orcarouter_providers_listA
Read-onlyIdempotent

List all model providers on OrcaRouter with their provider_id, human-readable display_name, icon_url, and model_count. Call this first to discover valid provider ids (e.g. 'openai', 'anthropic', 'google', 'qwen', 'deepseek') which you can then pass to orcarouter_models_list as the provider filter. Takes no parameters and returns the same list on every call until the deployment's catalog changes. Read-only, no API key required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, etc. The description adds 'no API key required' and 'returns the same list until catalog changes,' providing additional context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences with no redundancy. All essential information is front-loaded and each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and clear annotations, the description provides all necessary context: purpose, usage flow, and behavioral properties (caching, auth requirements).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the description correctly notes that it takes no parameters. The schema is fully covered; no further parameter semantics needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that it lists all model providers with specific fields (provider_id, display_name, icon_url, model_count). It also distinguishes itself from sibling tools by noting that it should be called first to discover provider IDs for orcarouter_models_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to call this first to discover provider IDs and then pass them to orcarouter_models_list. It also mentions that it takes no parameters and returns the same list on every call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.1.3
    • First observedorcarouter_chat
    • First observedorcarouter_model_card
    • First observedorcarouter_models_list
    • First observedorcarouter_providers_list

TDQS

A4.8/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: chat, model card, model listing, and provider listing. No overlap or ambiguity.

Naming Consistency5/5

All tools follow the consistent pattern 'orcarouter_<noun>', using snake_case throughout. The naming is predictable and uniform.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose—covering chat and model catalog exploration without unnecessary bloat.

Completeness4/5

Core operations (chat, model info, model listing, provider listing) are present. Minor gap: no health/status tool, but functionality is largely complete.

Maintenance

ActivityInactive
ResponsivenessResponsive

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

Related MCP Servers

Latest Blog Posts

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/Continuum-AI-Corp/orcarouter-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server