Model Context Protocol gateway & proxy for REST, MCP, and gRPC services
Apollos AI Gateway
Model Context Protocol gateway & proxy - unify REST, MCP, and A2A with federation, virtual servers, retries, security, and an optional admin UI.
Apollos AI Gateway is a feature-rich gateway, proxy and MCP Registry that federates MCP and REST services - unifying discovery, auth, rate-limiting, observability, virtual servers, multi-transport protocols, and an optional Admin UI into one clean endpoint for your AI clients. It runs as a fully compliant MCP server, deployable via PyPI or Docker, and scales to multi-cluster environments on Kubernetes with Redis-backed federation and caching.
📌 Quick Links
| Resource | Description |
|---|---|
| 5-Minute Setup | Get started fast — uvx, Docker, Compose, or local dev |
| Getting Help | Support options, FAQ, community channels |
| Issue Guide | How to file bugs, request features, contribute |
| Full Documentation | Complete guides, tutorials, API reference |
Overview & Goals
ContextForge is a gateway, registry, and proxy that sits in front of any Model Context Protocol (MCP) server, A2A server or REST API-exposing a unified endpoint for all your AI clients. See the project roadmap for more details.
It currently supports:
- Federation across multiple MCP and REST services
- A2A (Agent-to-Agent) integration for external AI agents (OpenAI, Anthropic, custom)
- gRPC-to-MCP translation via automatic reflection-based service discovery
- Virtualization of legacy APIs as MCP-compliant tools and servers
- Transport over HTTP, JSON-RPC, WebSocket, SSE (with configurable keepalive), stdio and streamable-HTTP
- An Admin UI for real-time management, configuration, and log monitoring (with airgapped deployment support)
- Built-in auth, retries, and rate-limiting with user-scoped OAuth tokens and unconditional X-Upstream-Authorization header support
- OpenTelemetry observability with Phoenix, Jaeger, Zipkin, and other OTLP backends
- Scalable deployments via Docker or PyPI, Redis-backed caching, and multi-cluster federation
For a list of upcoming features, check out the ContextForge Roadmap
🔌 Gateway Layer with Protocol Flexibility
- Sits in front of any MCP server or REST API
- Lets you choose your MCP protocol version (e.g.,
2025-06-18) - Exposes a single, unified interface for diverse backends
🧩 Virtualization of REST/gRPC Services
- Wraps non-MCP services as virtual MCP servers
- Registers tools, prompts, and resources with minimal configuration
- gRPC-to-MCP translation via server reflection protocol
- Automatic service discovery and method introspection
🔁 REST-to-MCP Tool Adapter
Adapts REST APIs into tools with:
- Automatic JSON Schema extraction
- Support for headers, tokens, and custom auth
- Retry, timeout, and rate-limit policies
🧠 Unified Registries
- Prompts: Jinja2 templates, multimodal support, rollback/versioning
- Resources: URI-based access, MIME detection, caching, SSE updates
- Tools: Native or adapted, with input validation and concurrency controls
📈 Admin UI, Observability & Dev Experience
- Admin UI built with HTMX + Alpine.js
- Real-time log viewer with filtering, search, and export capabilities
- Auth: Basic, JWT, or custom schemes
- Structured logs, health endpoints, metrics
- 800+ tests, Makefile targets, live reload, pre-commit hooks
🔍 OpenTelemetry Observability
- Vendor-agnostic tracing with OpenTelemetry (OTLP) protocol sup
Environment Variables
OTEL_EXPORTER_OTLP_ENDPOINTEndpoint for OpenTelemetry observability dataConfiguration
{"mcpServers": {"context-forge": {"command": "uvx", "args": ["mcp-context-forge"]}}}