
Local-first MCP gateway for federating stdio and HTTP servers through one endpoint
概览
SLM MCP Hub sits between your AI clients and your MCP servers: clients connect to the hub, the hub connects to each backend once and shares it across every session — adding governance, observability, and reliability on top. Part of Qualixar's work on AI Reliability Engineering. anyone running more than one MCP client (Claude Code, Cursor, Windsurf, Claude Desktop, custom agents) against a shared set of servers — or anyone whose machine is buckling under duplicate MCP subprocesses. The interfaces work and are tested — 2,306 tests at 98.54% line coverage, with the full transport matrix exercised against real processes — but they can still change between releases. Please file reproducible failures through GitHub Issues. Every AI client that speaks MCP spawns its own copy of every server it uses.
README
以下为原文 README 节选,完整内容请查看原文。
SLM MCP Hub
Run every MCP server once. Reach them from every client through one local endpoint.
SLM MCP Hub sits between your AI clients and your MCP servers: clients connect to the hub, the hub connects to each backend once and shares it across every session — adding governance, observability, and reliability on top. Part of Qualixar’s work on AI Reliability Engineering.
Who it’s for: anyone running more than one MCP client (Claude Code, Cursor, Windsurf, Claude Desktop, custom agents) against a shared set of servers — or anyone whose machine is buckling under duplicate MCP subprocesses.
Alpha software. The interfaces work and are tested — 2,306 tests at 98.54% line coverage, with the full transport matrix exercised against real processes — but they can still change between releases. Please file reproducible failures through GitHub Issues.
Why
Every AI client that speaks MCP spawns its own copy of every server it uses. Run a few sessions and the math turns ugly fast:
Without a hub With SLM MCP Hub
client 1 ─► 38 subprocesses client 1 ─┐
client 2 ─► 38 subprocesses client 2 ─┤
client 3 ─► 38 subprocesses client 3 ─┼─► hub ─► 38 shared backends
client 4 ─► 38 subprocesses client 4 ─┤ one endpoint,
client 5 ─► 38 subprocesses client 5 ─┘ one process pool
= 190 processes, ~10 GB RAM = 38 processes, shared by everyone
The hub runs each backend once, multiplexes every client through a single endpoint, and keeps memory bounded while your tools stay one call away.
Hub vs configuring servers in each client
| Per-client config | With SLM MCP Hub | |
|---|---|---|
| Processes | every client spawns every server | each server runs once, shared |
| RAM | grows with every session | bounded by spawn policy + LRU cap |
| Server config | duplicated in every client | one file, one place |
| Adding a server | edit every client by hand | slm-hub server add, hot-reloaded |
| Health & metrics | none | live state, p95 latency, and RAM per backend |
安装
npx -y @modelcontextprotocol/server-github配置
{
"mcpServers": {
"slm-hub": {
"command": "slm-hub",
"args": ["mcp"]
}
}
}