LabscoMCP early access ↗
samanhappyMCP SERVER

MCPHub

Put every MCP server you run behind one HTTP endpoint, then hand a client all of them, one group, one server, or a search over their tools.

by samanhappy ↗MCP Plumbing: Proxies, Registries & InspectorsCommunity

LABSCO SUMMARY

One endpoint in front of every MCP server you run, with the routing decided per client.

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.

What it is

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.

What you get

  • 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

Requirements

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.

Setup effort

One command — docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub