MCP Multi-Server Gateway
Provides tools to interact with SQLite databases, including querying, listing tables, and schema inspection.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Multi-Server Gatewaylist all registered servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ MCP Multi-Server Gateway
Aggregate, route, and orchestrate multiple MCP backend servers behind a single MCP endpoint. Connect one gateway to Claude Desktop/Cursor and access all your MCP servers โ weather, database, file system, and more.
โจ Why a Gateway?
Instead of configuring each MCP server individually in your client:
// โ Without Gateway: 3 entries in claude_desktop_config.json
{
"weather": { "command": "...", "args": ["weather_server.py"] },
"sqlite": { "command": "...", "args": ["sqlite_server.py", "--db-path", "..."] },
"filesystem": { "command": "...", "args": ["filesystem_server.py", "--sandbox", "..."] }
}
// โ
With Gateway: 1 entry โ register/unregister servers at runtime
{
"gateway": { "command": "python", "args": ["gateway.py"] }
}Related MCP server: mcpware
โจ Features
๐ง 5 Tools:
register_server,remove_server,list_servers,call_backend,route_pipelineโฑ๏ธ Async Routing: Concurrent tool execution across backends via
asyncio๐ Pipeline Support: Pre-configured multi-step workflows (weather-analysis, database-report)
๐ Auto-Registration: Load backend config from JSON file on startup
๐ Runtime Dynamic: Register/unregister servers without restarting
โฒ๏ธ Timeout Handling: 10-second per-backend timeout prevents hangs
๐ฅ๏ธ Dual Transport: stdio and Streamable HTTP
๐ Quick Start
# 1. Setup
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 2. Start the gateway
python gateway.py
# 3. Register backend servers (from MCP client)
register_server(name="weather", command="python", args="weather_server.py", description="Weather alerts")
register_server(name="sqlite", command="python", args="sqlite_server.py --db-path /tmp/sample.db", description="Database queries")With auto-registration:
python gateway.py --auto-register gateway-config.json๐ ๏ธ Tools Reference
register_server(name, command, args, description) -> str
Register a new backend MCP server at runtime.
remove_server(name) -> str
Remove a registered server.
list_servers() -> str
List all registered backends with status and tool counts.
call_backend(server, tool, params) -> str
Execute a tool on a specific backend. params is a JSON string.
route_pipeline(scenario) -> str
Execute a pre-configured multi-step pipeline:
"weather-analysis"โ alerts + forecast"database-report"โ schema inspection + query"custom"โ compose your own workflow
๐ Connecting to Clients
Claude Desktop
{
"mcpServers": {
"gateway": {
"command": "python",
"args": ["/ABSOLUTE/PATH/mcp-multi-server-gateway/gateway.py"]
}
}
}Streamable HTTP Mode
python gateway.py --transport streamable-http --port 8003๐ Project Structure
mcp-multi-server-gateway/
โโโ gateway.py # Main gateway server (FastMCP + asyncio)
โโโ gateway-config.json # Example auto-registration config
โโโ requirements.txt
โโโ setup.sh
โโโ README.md
โโโ .gitignore๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Client (Claude, etc) โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ single MCP connection
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Multi-Server Gateway โ
โ (gateway.py on :8003) โ
โ โ
โ register / call_backend / pipeline โ
โโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโ
โ โ โ
โโโโโโโโผโโโ โโโโโโโผโโโโโ โโโโผโโโโโโโโโ
โ Weather โ โ SQLite โ โ FileSystemโ
โ Server โ โ Server โ โ Server โ
โโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโ๐ก Use Cases
Scenario | Tools Involved | Example |
DevOps Debugging | sqlite.query + filesystem.read_file | "Check DB schema, then read config file" |
Data Analysis | sqlite.list_tables + sqlite.query | "What tables exist? Give me top 10 customers" |
Multi-weather check | weather.get_alerts ร 2 | "Alerts for CA and TX simultaneously" |
Automated report | All servers in sequence | "Get weather data โ query DB โ write report" |
๐ License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Trust, freshness, policy, and discovery layer for public MCP servers.
MCP Gateway: wrap any MCP server with cold-start retries, uptime SLA, and per-execution MPP billing.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA unified hub for centrally managing and dynamically orchestrating multiple MCP servers/APIs into separate endpoints with flexible routing strategies.547 npm2,426Apache 2.0
- AlicenseNot gradedqualityDmaintenanceGateway MCP Server - Route MCP requests intelligently to multiple backend servers.3MIT
- AlicenseNot gradedqualityDmaintenanceAggregates multiple MCP servers into a single endpoint, enabling LLM clients to access tools, resources, and prompts from various backends through one connection.7 npmMIT
- AlicenseNot gradedqualityCmaintenanceCentralized MCP control plane that proxies multiple upstream MCP servers with tool namespacing, filtering, policy enforcement, audit logging, and health checks.6 npmMIT