Skip to main content
Glama
zerouter-mcp

zerouter-mcp

Official
by ZerouterAI

zerouter-mcp

GitHub release MCP Registry License: MIT

AI API gateway MCP for Claude, GPT, Gemini, Grok and Kimi via Zerouter.

zerouter-mcp connects Claude Desktop, Cursor, Claude Code and other MCP clients to Zerouter, an OpenAI-compatible AI API gateway. With one API key you can chat with any supported model, compare answers side by side, or look up API pricing per 1M tokens, without leaving your editor.

Why Zerouter

  • One API key for Claude, GPT, Gemini, Grok and Kimi. The same sk- key routes to every model. Zerouter exposes Anthropic-compatible and OpenAI-compatible endpoints, so it works with Claude Code, Codex and Cursor—change the base URL and keep your existing clients.

  • API pricing you can check in chat. Claude Opus 5.5 on Zerouter is $1.16 input / $5.81 output per 1M tokens (Anthropic list price $4 / $20). Live rates for GPT, Gemini, Grok and Kimi are on the Zerouter pricing page.

  • Compare models before you commit. Send one prompt to 2–4 models in parallel and get each answer with token usage, latency and estimated cost.

  • Stable routing, real models. The model ID you send is the model that runs and the one you're billed for. Prompts aren't rewritten and models aren't swapped.

  • Host unused subscription quota. If you have an official AI account with capacity you don't use, the Zerouter provider program routes paid traffic to it and pays you the larger share of each request, currently about 80%, in USDC.

Related MCP server: Adaptive LLM Gateway

What it does

Tool

What it's for

Needs a key?

get_pricing

Current Zerouter API pricing per 1M input/output tokens, next to each vendor's official list price. Filter by model or provider.

No

list_models

AI model IDs you can call, and which endpoint each one uses.

No (uses /v1/models when a key is set)

chat

Send a prompt or a message list to any model, with optional system, max_tokens and temperature.

Yes

compare_models

Send the same prompt to 2–4 models in parallel. You get each answer back with token usage, latency and an estimated cost.

Yes

You don't have to think about API formats. chat sends each request to the right Zerouter endpoint for you:

  • Claude and Kimi go to POST /v1/messages (Anthropic format)

  • GPT, Codex and Grok go to POST /v1/responses (OpenAI Responses)

  • Gemini and the compatible channels (Qwen/Dashscope and others) go to POST /v1/chat/completions

If you need to, you can override this with the endpoint argument.

Get a key

  1. Sign in at zerouter.ai and open the dashboard.

  2. Create an API key. Keys start with sk- and work for every model.

  3. Put it in the ZEROUTER_API_KEY environment variable, as in the configs below.

See the pricing page for current API pricing and the quickstart for setup details.

Setup

You need Node.js 18 or newer with npm 10 or newer (bundled with current Node 18/20/22 releases). npx fetches the server straight from GitHub, builds it once and runs it. The first start takes up to a minute while it installs; later starts use the npx cache.

The package isn't published to npm, so use github:ZerouterAI/zerouter-mcp as shown below (not zerouter-mcp). Prefer not to use npx? See Other ways to install.

Claude Desktop

Edit claude_desktop_config.json. On macOS it's in ~/Library/Application Support/Claude/ and on Windows in %APPDATA%\Claude\:

{
  "mcpServers": {
    "zerouter": {
      "command": "npx",
      "args": ["-y", "github:ZerouterAI/zerouter-mcp"],
      "env": {
        "ZEROUTER_API_KEY": "sk-xxxx"
      }
    }
  }
}

Restart Claude Desktop afterwards.

Cursor

Add this to ~/.cursor/mcp.json for all projects, or to .cursor/mcp.json in a single project:

{
  "mcpServers": {
    "zerouter": {
      "command": "npx",
      "args": ["-y", "github:ZerouterAI/zerouter-mcp"],
      "env": {
        "ZEROUTER_API_KEY": "sk-xxxx"
      }
    }
  }
}

Claude Code

claude mcp add zerouter --env ZEROUTER_API_KEY=sk-xxxx -- npx -y github:ZerouterAI/zerouter-mcp

Add --scope user to make it available in every project.

Other ways to install

MCPB bundle (Claude Desktop one-click). Download zerouter-mcp-0.1.0.mcpb from the latest release and open it, or drag it into Claude Desktop under Settings → Extensions. Claude Desktop asks for your API key; no Node.js setup needed.

Clone and build. Works with any MCP client that can run a local command:

git clone https://github.com/ZerouterAI/zerouter-mcp.git
cd zerouter-mcp
npm install        # also builds dist/ via the prepare script

Then point your client at the built file, using the absolute path on your machine:

{
  "mcpServers": {
    "zerouter": {
      "command": "node",
      "args": ["/absolute/path/to/zerouter-mcp/dist/index.js"],
      "env": {
        "ZEROUTER_API_KEY": "sk-xxxx"
      }
    }
  }
}

For Claude Code: claude mcp add zerouter --env ZEROUTER_API_KEY=sk-xxxx -- node /absolute/path/to/zerouter-mcp/dist/index.js

Docker

docker build -t zerouter-mcp .
docker run -i --rm -e ZEROUTER_API_KEY=sk-xxxx zerouter-mcp

Environment variables

Variable

Required

Default

Notes

ZEROUTER_API_KEY

For chat and compare_models

none

Your key from zerouter.ai

ZEROUTER_BASE_URL

No

https://api.zerouter.ai

Change it only if you route through a proxy

ZEROUTER_TIMEOUT_MS

No

120000

Timeout for each request

If no key is set, get_pricing and list_models still work. chat and compare_models return a clear error that tells you where to get a key.

Example prompts

  • "What does Claude Opus 5.5 cost on Zerouter compared with the official API pricing?"

  • "Ask gemini-3.8-flash to summarise this file."

  • "Compare claude-sonnet-5-5, gpt-6-sol and grok-4.6 on this regex question and tell me which answer is right."

  • "Which models on Zerouter cost less than $0.50 per million input tokens?"

Development

git clone https://github.com/ZerouterAI/zerouter-mcp.git
cd zerouter-mcp
npm install       # runs the build through the prepare script
npm test          # spawns the server over stdio and calls every tool (no key needed)
npx @modelcontextprotocol/inspector node dist/index.js

License

MIT. Built by the Zerouter team.

Available Tools

4 tools
chatChat with a model via ZerouterA

Send a prompt or a message list to any Zerouter model (Claude, GPT, Gemini, Grok, Kimi, ...). The request is routed automatically: Claude/Kimi -> /v1/messages, GPT/Grok/Codex -> /v1/responses, Gemini and other models -> /v1/chat/completions. Requires ZEROUTER_API_KEY.

Inputs: model (required), prompt, system, endpoint, +3 more.

compare_modelsCompare models side by sideA

Send the same prompt to 2-4 Zerouter models in parallel and return each answer with token usage, latency and estimated cost. Requires ZEROUTER_API_KEY.

Inputs: models (required), prompt (required), system, max_tokens.

get_pricingGet Zerouter pricingA
Read-only

Public per-model prices on Zerouter in USD per 1M tokens (input/output), next to the official list price. No API key needed. Data comes from https://www.zerouter.ai/pricing.

Inputs: model, provider.

list_modelsList Zerouter modelsA
Read-only

List model IDs available on Zerouter and the endpoint each one uses. Uses GET /v1/models when ZEROUTER_API_KEY is set, otherwise the public catalog at https://www.zerouter.ai/models.

Inputs: filter.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 4 tools

    Disambiguation4/5

    The four tools have largely distinct purposes: two are catalog/cost lookups (get_pricing, list_models) and two are inference operations (chat, compare_models). The only mild overlap is between get_pricing and list_models, which both surface model-catalog metadata, but their descriptions clearly separate pricing from model-ID/endpoint listing.

    Naming Consistency4/5

    Three tools follow a clean verb_noun pattern (get_pricing, list_models, compare_models), which is predictable and readable. 'chat' breaks the pattern as a bare verb, but the deviation is minor and the intent is unambiguous.

    Tool Count5/5

    Four tools is well-scoped for a multi-model routing service, and each covers a distinct capability: discover models, check prices, run one prompt, or compare several. Nothing feels redundant or padded.

    Completeness4/5

    The surface covers the core lifecycle well: discovery (list_models, get_pricing), single-model inference (chat), and multi-model comparison (compare_models). Minor gaps exist, such as no account/balance or usage-limit check and no streaming or embedding support, but these are workarounds rather than blockers.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A universal server that enables MCP-compatible clients (like Claude Desktop, Cursor, VS Code) to access OpenAI's APIs for chat completions, image generation, embeddings, and model listing through a standardized interface.
      15 npm
      7
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Exposes an OpenAI- and Anthropic-compatible HTTP, SSE, and stdio gateway that wraps multiple subscription CLIs, adding prompt-injection defense, PII redaction, cost-aware routing, and reasoning-trace capture for MCP-compatible clients like Claude Desktop and Cursor.
      83 npm
      15
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Multi-model AI conversation MCP for Claude Desktop. Seamlessly integrate with GPT-4, Gemini, xAI, Perplexity, and local models via Ollama.
      MIT