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

aichatgptclaude-aillmslocal-developmentmcpmcp-hubmcp-serversmodel-context-protocolnodejsprocess-management-serverserversmithery
View on GitHub ↗
Stars
508★
Forks
64
Language
JavaScript
License
MIT
Created
2025-02-20
Last push
2025-10-24