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:
| Path | Upstream |
|---|---|
/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 var | Default | Meaning |
|---|---|---|
MUR_MODEL_GATEWAY_BIND | 127.0.0.1:8088 | Listen address |
MUR_MODEL_GATEWAY_TOKEN_SOURCE | keychain | keychain, off, env:<VAR>, file, or file:<path> |
MUR_MODEL_GATEWAY_COMPRESS | off | 1 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.