Model Gateway

mur-model-gateway is a companion service that gives your agents one local endpoint for Anthropic, OpenAI, and Gemini — and lets them reuse the credentials you already have (including your Claude Code subscription login) instead of a separate metered API key.

# install a released binary, then run it as a background service
mur-model-gateway install
mur-model-gateway status

It lives in its own repository: github.com/mur-run/mur-model-gateway.

How it works

The gateway listens on 127.0.0.1:8088 and routes by path:

PathUpstream
/v1/messages*api.anthropic.com
/v1/chat/completions*, /v1/embeddings*api.openai.com
/v1beta/models/*generativelanguage.googleapis.com

Requests that already carry auth are forwarded untouched. Requests without auth get credentials attached from the configured token source — by default the OS keychain entry Claude Code maintains, so agents ride the plan you already pay for.

Use it from MUR

Point a model registry entry's base_url at the gateway:

# ~/.mur/models.yaml
models:
  - alias: sonnet
    provider: anthropic
    model: claude-sonnet-5
    base_url: http://127.0.0.1:8088

Every agent using that alias now goes through the gateway. Nothing else in MUR changes — pricing, routing, and the Model Library all keep working.

Configuration

Env varDefaultMeaning
MUR_MODEL_GATEWAY_BIND127.0.0.1:8088Listen address
MUR_MODEL_GATEWAY_TOKEN_SOURCEkeychainkeychain, off, env:<VAR>, file, or file:<path>
MUR_MODEL_GATEWAY_COMPRESSoff1 enables tool_result wire compression

Upstreams are overridable per provider (MUR_MODEL_GATEWAY_UPSTREAM_ANTHROPIC / _OPENAI / _GEMINI).

Notes

  • Loopback-only by default — it is a local outlet, not a shared server.
  • macOS release binaries are Developer-ID signed and notarized, so the keychain "Always Allow" you grant once survives every update.
  • Formerly known as cc-proxy; renamed when it grew beyond Claude Code to cover OpenAI and Gemini.