ContextForge is a registry and proxy that puts Model Context Protocol (MCP) servers, agent-to-agent (A2A) servers, and REST or gRPC APIs behind a single endpoint, adding centralised governance, discovery, and observability. It runs as a fully compliant MCP server itself, so a client connects to one place instead of to each backend.
The gateway is organised in layers. A tools gateway federates MCP servers and translates REST and gRPC services into MCP, using server reflection to discover gRPC methods automatically. An agent gateway routes to external agents over A2A. An API gateway adds rate limiting, authentication, retries, and reverse proxying for REST services. A plugin layer carries more than 40 plugins for additional transports, protocols, and integrations.
Three registries sit behind that surface: prompts as Jinja2 templates with multimodal support and versioning with rollback, resources addressed by URI with MIME detection, caching, and server-sent-event updates, and tools that are either native or adapted from a REST API with automatic JSON Schema extraction, input validation, and concurrency controls. An admin interface covers real-time management, configuration, and log viewing with filtering, search, and export, and supports airgapped deployment.
Transports include HTTP, JSON-RPC, WebSocket, server-sent events with configurable keepalive, stdio, and streamable HTTP, and a stdio wrapper lets a client reach the gateway over standard input and output while keeping JWT authentication. Authentication can be basic, JWT, or a custom scheme, with user-scoped OAuth tokens; a JWT signing secret and an encryption secret are required in every environment, including local development, or the gateway does not start. Tracing uses OpenTelemetry over OTLP to backends including Phoenix, Jaeger, Zipkin, Tempo, DataDog, and New Relic, and captures token usage, cost, and model performance. Deployment is from PyPI or a container image, scaling to multi-cluster Kubernetes with Redis-backed federation and caching.
Features
- Federation: any MCP server, A2A server, or REST and gRPC API behind one endpoint, with a selectable protocol version
- Virtualisation: non-MCP services wrapped as virtual MCP servers, registering tools, prompts, and resources
- gRPC translation: reflection-based service discovery and method introspection turn gRPC services into MCP tools
- REST adapter: automatic JSON Schema extraction plus header, token, and custom auth support with retry and rate-limit policies
- Registries: versioned Jinja2 prompt templates, URI-addressed resources with caching, and validated tools
- Plugins: more than 40 plugins for additional transports, protocols, and integrations
- Transports: HTTP, JSON-RPC, WebSocket, SSE with keepalive, stdio, and streamable HTTP, plus a stdio wrapper
- Auth: basic, JWT, or custom schemes with user-scoped OAuth tokens and upstream authorization header passthrough
- Observability: OpenTelemetry tracing to Phoenix, Jaeger, Zipkin, Tempo, DataDog, and New Relic, with token and cost metrics
- Admin UI: real-time management, configuration, and a filterable log viewer, with airgapped deployment support
- Scaling: Docker or PyPI deployment, Redis-backed caching, and multi-cluster federation on Kubernetes