Universal MCP Gateway
Serves as a single local MCP entry point that proxies configured upstream MCP tools to multiple coding agents, keeps sessions warm, serializes exclusive services, and provides SQLite-backed task, lock, and memory tools.
README
Universal MCP Gateway
One local MCP entry point for multiple coding agents. It proxies configured upstream MCP tools, keeps upstream sessions warm, serializes calls for exclusive services, reports process resources, and exposes small SQLite-backed task, lock, and memory tools.
Quick start
python -m pip install -e '.[dev]'
cp config.example.toml config.toml
mcp-gateway serve --config config.toml
Connect an MCP client to:
http://127.0.0.1:8000/mcp
Clients that only support stdio can run one gateway bridge process:
{
"command": "mcp-gateway",
"args": ["serve", "--config", "/absolute/path/config.toml", "--transport", "stdio"]
}
Configuration
[gateway]
host = "127.0.0.1"
port = 8000
database = "gateway.db"
auth_token_env = "MCP_GATEWAY_TOKEN"
[servers.example]
transport = "stdio"
command = "npx"
args = ["-y", "some-mcp-server"]
mode = "exclusive"
max_in_flight = 1
queue_limit = 32
[servers.remote]
transport = "streamable_http"
url = "http://127.0.0.1:9000/mcp"
mode = "pool"
max_connections = 2
queue_limit = 64
Upstream tools are exposed as <server_id>__<tool_name>. Gateway coordination tools use the gateway__ prefix. per_agent is process-scoped in v0.1; run one stdio gateway bridge per agent when separate upstream sessions are required. The first release proxies tools only; resources, prompts, sampling, and distributed scheduling are deliberately deferred.
Operations
mcp-gateway status
mcp-gateway start example
mcp-gateway stop example
mcp-gateway restart example
The admin API is loopback-only by default:
GET /health
GET /v1/status
POST /v1/servers/{id}/start
POST /v1/servers/{id}/stop
POST /v1/servers/{id}/restart
Set the configured token environment variable to require Authorization: Bearer ... for MCP and admin HTTP requests. Commands and arguments are read from TOML only; the gateway never executes a shell string received from an agent.
Shared work tools
The gateway provides task leases, optimistic task updates, resource locks, and project-scoped text memory through gateway__* tools. SQLite uses WAL mode and short transactions. Locks and task leases expire, so a disconnected agent does not hold work forever.
Do not store credentials, raw transcripts, or production data in the local memory store.
Development
python -m pytest -q
python -m compileall -q universal_mcp_gateway
git diff --check
See SPEC.md and tasks/plan.md for the current contract and deferred work.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.