MCP Multi-Server Gateway
Provides tools to interact with SQLite databases, including querying, listing tables, and schema inspection.
Click on "Install 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: grpcmcp
β¨ 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/moaaz01/mcp-multi-server-gateway'
If you have feedback or need assistance with the MCP directory API, please join our Discord server