ravitemer/mcp-hub

View on GitHub ↗

A centralized manager for Model Context Protocol (MCP) servers with dynamic server management and monitoring

516 ★66 forksJavaScriptUpdated 11mo 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

aichatgptclaude-aillmslocal-developmentmcpmcp-hubmcp-serversmodel-context-protocolnodejsprocess-management-serverserversmithery
Stars
516★
Forks
66
Language
JavaScript
License
MIT
Created
2025-02-20
Last push
2025-10-24