Platform

The gateway your agents stand on.

AgentGuide is one self-hosted binary that speaks every layer of the agent stack: an LLM gateway for model access, an MCP gateway for tool access, agent runtimes for execution — with a single control plane, a single config store, and a single event stream across all of them.

LLM gateway

One API. Every provider. No key sprawl.

Applications talk to one endpoint with one virtual key. The gateway decides which provider, which upstream model, and which credential actually serve the request — and records exactly what happened.

routing

Logical model routing

Publish a model name like chat-default; behind it, bind multiple candidate providers and upstream models. The catalog validates candidates against discovered provider models, and failures fall through to the next candidate automatically.

  • Model-target routes One logical name, many provider bindings, automatic fallback and retry policy.
  • Direct-provider routes Pin a route straight to one provider when you want zero indirection.
  • Model catalog Provider model discovery plus managed overlays; tool-capable candidates enforced where tools are required.
  • Protocol adapters OpenAI-compatible, Anthropic-compatible, and a Claude Code-ready CLI profile, selected per route.
credentials

Pooled, scheduled, refreshed

Upstream credentials are managed objects, not strings in app config. Pool several credentials per provider, schedule across them, and refresh OAuth-style CLI credentials at request time.

  • Credential pool Multiple credentials per provider with selection state and scheduling.
  • CLI subscription auth Sign in with Codex or Claude Code CLI subscriptions through the companion agw-auth tool; the gateway refreshes tokens at request time.
  • Virtual keys Consumers never see upstream secrets — issue, rotate, and revoke gateway-owned keys per app or team.
  • Fail-closed auth Routes can require a virtual key; unauthenticated traffic never reaches a provider.

supported providers

openai anthropic gemini deepseek qwen zhipu openrouter ollama codex (cli) claude code (cli) + pluggable provider SPI

MCP gateway

Tools become governed infrastructure.

Model Context Protocol servers are registered once as services, then exposed through routes with authentication policy. Agents and applications get tool access; operators get an inventory, a policy point, and an operational event history.

catalog

Service registry

Register MCP services centrally with discovery of their tools. One inventory of every tool any agent can reach — instead of N copies of server config scattered across N agents.

policy

Routed, authenticated access

MCP routes carry auth policy and virtual-key checks like any other route. Tool selection is fail-closed: a tool that isn't explicitly available is an error, never a silent skip.

operations

Live runtime inspection

See in-flight MCP requests and progress through the admin runtime view, and query persisted tool-call usage events afterwards, with agent attribution when route ownership is unambiguous.

Control plane

Everything is an API object. Config is code.

Providers, routes, credentials, virtual keys, MCP services, and agents are persisted config objects with full CRUD over the Admin API — and a declarative bundle format for GitOps-style workflows.

admin api

Operate everything remotely

A complete Admin API covers the whole object model, plus runtime surfaces: model discovery and refresh, MCP/ACP runtime state, pending permission decisions, and metrics queries.

  • Full CRUD Providers, unified Agent routes, virtual keys, credentials, MCP services, agents.
  • Runtime views Pooled agent instances, in-flight turns and requests, pending permissions.
  • Metrics API Summaries, per-protocol timeseries, breakdowns, recent events, Prometheus exposition.
  • Pluggable auth Mount behind basic auth, mTLS, or your reverse-proxy authenticator.
agwctl + bundles

Declarative by default

Describe the entire gateway — providers, routes, services, agents — in one reviewable bundle. Validate it locally, apply objects in dependency order, and export the live state back out. Your gateway config can live in version control. Apply is not a cross-object transaction.

  • agwctl apply Push a full desired-state bundle in one command.
  • agwctl validate Catch broken references and invalid definitions before they ship.
  • agwctl export Snapshot live config for review, diff, and backup.
  • Reviewable changes Keep agent and routing changes in pull requests when that matches your operating model.

Deployment

One binary, five minutes, your network.

Built on the Caddy server core: production-grade HTTP, automatic TLS, and graceful reloads for free. Run it as a Caddy app or as a standalone daemon — no external dependencies beyond a SQLite file. The engine is open source: agent-gateway, Apache 2.0.

# Caddyfile — a working gateway in one block
{
    agent_gateway {
        config_store sqlite {
            path ./data/configstore.db
        }
        provider openai-main {
            provider_type openai
            api_key {$OPENAI_API_KEY}
            default_model gpt-4.1
        }
        route openai-chat {
            protocol openai
            path_prefix /
            require_virtual_key
            target provider openai-main
        }
    }
}

http://127.0.0.1:8080 {
    agent_route_dispatcher {
        llm_api openai
        llm_api anthropic
        mcp
        agent
    }
}