ravitemer/mcp-hub
A centralized manager for Model Context Protocol (MCP) servers with dynamic server management and monitoring
508 ★64 forksJavaScriptUpdated 9mo ago
What you need to know
A central coordinator for MCP servers and clients that exposes a REST management API (/api/*) plus a single MCP server endpoint (/mcp at localhost:37373/mcp) so any MCP client can access all managed servers through one connection.
Install
npm install -g mcp-hub
Usage
- •Start the hub: mcp-hub --port 3000 --config path/to/config.json (multiple config files are merged in order).
- •Point any MCP client at a single endpoint: {"mcpServers":{"Hub":{"url":"http://localhost:37373/mcp"}}}.
- •Manage servers via REST: GET /api/health, POST /api/servers/start|stop|refresh, POST /api/servers/tools, /api/servers/resources, /api/servers/prompts.
- •Use --watch for config hot-reload, --dev with per-server "dev" config for hot-restart on file changes, and --auto-shutdown to stop when no clients are connected.
Key features
- ✓Unified /mcp endpoint with automatic namespacing of capabilities (e.g. filesystem__search vs database__search) to prevent conflicts.
- ✓Dual interface: REST management API + MCP server interface; supports remote servers over streamable-http/SSE with OAuth PKCE and header auth, plus local STDIO servers.
- ✓Real-time SSE events (/api/events): server status, tool/resource/prompt list changes, config changes, with auto-reconnect and backoff.
- ✓VS Code mcp.json compatibility: supports "servers" key, ${env:}, ${input:}, ${workspaceFolder} and other predefined variables, JSON5 config, and universal ${cmd: ...} command execution.
- ✓Marketplace integration (MCP Registry) for server discovery and one-command installation; Neovim integration via mcphub.nvim.
Best for
Developers running many MCP servers who want one endpoint for all clients (Claude Desktop, Cline, editors) plus a management UI/REST layer and hot-reload dev workflow.
Caveats
- ⚠MCP Roots, Sampling, and Completion capabilities are not supported.
- ⚠Requires Node.js >=18.0.0.
- ⚠A server configuration cannot mix STDIO and remote fields.
Platforms: macOS · Linux · WindowsClients: Claude Desktop · Cline · Neovim · VS Code
Documentation ↗Reviewed 2026-08-07
Topics
- Stars
- 508★
- Forks
- 64
- Language
- JavaScript
- License
- MIT
- Created
- 2025-02-20
- Last push
- 2025-10-24