Skip to main content

Open MCP Gateway

Open MCP Gateway is a Rust-native, vendor-neutral gateway server that enables AI clients to connect to multiple MCP (Model Context Protocol) servers through a single, unified interface.

What is MCP?​

The Model Context Protocol (MCP) is an open protocol that standardizes how AI applications connect to external data sources, tools, and services. MCP servers expose capabilities that AI models can use to interact with databases, APIs, file systems, and more.

The Problem​

As MCP adoption grows, managing multiple MCP servers becomes challenging:

  • Connection Overhead: Each client must maintain separate connections to each MCP server
  • Lifecycle Management: Manually starting, stopping, and monitoring servers
  • Configuration Sprawl: Different configs for each server across different clients
  • Resource Waste: Servers running 24/7 even when not in use
  • Scaling Complexity: Deploying to containers or Kubernetes requires custom solutions

The Solution​

Open MCP Gateway acts as a single entry point for all your MCP servers:

┌─────────────┐     ┌─────────────────┐     ┌──────────────┐
│ Claude │ │ │ │ PostgreSQL │
│ Desktop │────▶│ │────▶│ MCP Server │
└─────────────┘ │ │ └──────────────┘
│ Open MCP │
┌─────────────┐ │ Gateway │ ┌──────────────┐
│ Your App │────▶│ │────▶│ GitHub MCP │
│ (HTTP) │ │ │ │ Server │
└─────────────┘ │ │ └──────────────┘
│ │
┌─────────────┐ │ │ ┌──────────────┐
│ Cline │────▶│ │────▶│ Custom MCP │
│ Extension │ │ │ │ Server │
└─────────────┘ └─────────────────┘ └──────────────┘

Key Features​

🚀 Auto-Managed Lifecycle​

Servers start automatically when needed and shut down after configurable idle periods. No manual process management required.

🔄 Hot Reload Configuration​

Update your server catalog without restarting the gateway. Perfect for CI/CD pipelines and dynamic environments.

🔌 Multiple Runtime Backends​

  • Local Process: Run MCP servers as child processes
  • Remote SSE: Connect to existing HTTP/SSE servers
  • Docker: Run servers in containers (v0.2)
  • Kubernetes: Deploy as Jobs or Services (v0.3)

🌐 Dual Transport Support​

  • HTTP/SSE: RESTful API for web and cloud applications
  • Stdio: Native support for Claude Desktop, Cline, and other desktop clients

⚡ Rust Performance​

Built with Rust for memory safety, minimal overhead, and high concurrency. Ideal for production deployments.

Quick Example​

Define your servers in a YAML catalog:

servers:
- id: postgres
display_name: PostgreSQL Server
runtime:
type: local-process
command: postgres-mcp
args: ["--transport=stdio"]

- id: github
display_name: GitHub API
runtime:
type: remote-sse
url: https://mcp.example.com/github

Start the gateway:

./gateway-http --config config.yaml

Connect from any client:

curl -X POST http://localhost:4444/mcp \
-H "Content-Type: application/json" \
-d '{"server_id": "postgres", "method": "tools/list"}'

Next Steps​