io.github.ENTERPILOT/gomodel — Model Context Protocol (MCP) Server
io.github.ENTERPILOT/gomodel is a self-hosted gateway that aggregates upstream MCP servers behind a single authenticated HTTP endpoint. It is positioned for use with multiple LLM providers and observability needs, and is implemented in Go (Golang).
🛠️ Key Features
Self-hosted gateway for upstream MCP server aggregation
Single authenticated HTTP endpoint
Designed for AI proxying and gateway usage
Supports OpenAI-compatible and OpenAI-compatible API/proxy server patterns
🚀 Use Cases
Centralize access to multiple upstream MCP servers
Provide an OpenAI-compatible proxy layer (including OpenAI-compatible API behavior)
Deploy as an LLM gateway alternative (listed as “litellm-alternative”)
Use with provider/tooling involving OpenAI, Anthropic, Groq, and Ollama
⚡ Developer Benefits
One HTTP endpoint in front of many MCP servers
Go/Golang implementation for easier integration and extension
Includes observability-focused intent (per provided topics)
⚠️ Limitations
Aggregation behavior and provider coverage are described only via topic labels; no further operational constraints are provided in the available excerpt.
GoModel is the fastest and the most resource-efficient AI Gateway (the self-reproducible benchmarks). It's an alternative to LiteLLM (which was hacked recently) and Portkey (which is no longer maintained on GitHub).
Money - because you can remember the responses on this layer (caching), track your spending and do tricks like prompt compression and intelligent routing.
Nerves - because we strive to achieve good quality and reliability. Our ambition is to be the last AI gateway you will need - the most reliable, resource-optimal, feature-rich and fast.
Quick Start
Step 1: Install and start GoModel
macOS / Linux
bash
curl -fsSL https://gomodel.enterpilot.io/install.sh | sh
# OPENAI_API_KEY="your-openai-key" # (optional)
gomodel
Caching - exact and semantic response caching, so repeated prompts cost nothing
Cost tracking - per-request cost estimates, usage analytics, and spending breakdowns in the dashboard
Budgets - hard spend limits per user, team, or key
Rate limits - requests, tokens, and concurrency caps per user path, provider, or model
Usage API - clients check their own usage, remaining budget, and rate-limit headroom with the key they already use for inference
Virtual models - aliases and load balancing (round-robin or cost-based) behind stable model names
Session keeping - detect a client session and pin it to one target and provider key, so provider prompt caches stay warm and audit logs read as threads
Provider replay state - preserves Gemini thought signatures and Anthropic thinking blocks across turns, APIs, and providers
Guardrails - request and response policies enforced at the gateway
Plugins - one contract for guardrails, response and stream filters, header edits, and routing strategies; built in, compiled in, or loaded from a .so at startup
Workflows - versioned per-request policies that scope cache, budgets, audit logging, guardrail phases, and failover by user path, provider, or model
Provider key rotation - round-robin over multiple API keys to lift per-key rate limits
Observability - Prometheus metrics, OpenTelemetry traces, audit logs, and live request streaming in the dashboard
Playground - try any model or virtual model from the dashboard and inspect the exact request and response JSON
GoModel Pro
GoModel Pro is the commercial build: the same gateway, configuration, and dashboard, with licensed extensions.
Prompt compression - remove repeated and structural context before it reaches the provider, without changing the request shape
Intelligent routing - classify each request as easy or hard, then pick the healthiest and cheapest provider in that tier
OIDC single sign-on - protect the dashboard with your identity provider using Authorization Code flow with PKCE
More in the documentation...
Roadmap
See the roadmap for GoModel Pro and the upcoming 0.2.0 release.
We are on Discord. Feel free to stop by and tell us what you think about GoModel.
Install
Configuration
Environment variables
GOMODEL_MASTER_KEYsecret
Gateway API key clients authenticate with; unset runs the gateway in unsafe (no-auth) mode.
MCP_SERVERS
JSON object of upstream MCP servers to aggregate, e.g. {"github":{"url":"https://api.githubcopilot.com/mcp/","headers":{"Authorization":"Bearer ${GITHUB_PAT}"}}}. Servers can also be declared in config.yaml or the admin dashboard.