What it takes off you is the fan-out: rather than registering ten servers in every client, you register the hub once and choose how much of it each client sees — everything, one group, one server, or only the tools that match the task.
A hub that connects to the MCP servers listed in your `mcp_settings.json` and re-exposes them over Streamable HTTP. A dashboard sits in front of it for adding, removing and updating servers without downtime.
- Four ways to connect a client: `/mcp` for all servers, `/mcp/{group}` for a logical group, `/mcp/{server}` for one, and `/mcp/$smart` for AI-powered tool discovery using vector semantic search
- Group-level control over which Tools, Prompts and Resources each server inside a group exposes
- Per-server sharing — keep a server private, share it with selected users, or make it public
- Tool result compression that shrinks large text outputs before they reach the client
- OAuth 2.0 in both client and server modes, plus GitHub and Google login through Better Auth in Database Mode
- The same `mcphub` binary as a CLI: `mcphub servers list`, `mcphub tools list`, `mcphub tools get`, `mcphub call`, `mcphub keys create`, and `mcphub discover` / `mcphub install` against the public marketplace API
- Transparent forwarding of interactive MCP Apps on single-server routes
A `mcp_settings.json` describing the servers to front. The quickest path is Docker: `docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub`. The dashboard opens at http://localhost:3000 with username `admin`; without `ADMIN_PASSWORD` a random password is printed to the server logs on first launch. MCP endpoints require authentication by default. `DISABLE_WEB=true` runs it headless, and Database Mode stores configuration in PostgreSQL with pgvector for smart routing. The `latest-full` image adds a Rust toolchain, Docker Engine and Playwright browsers for servers that need them.
One command — docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub
