← Back to directory
M

MCP Hub

Community
Gateway / proxy
A central coordinator for managing multiple MCP servers behind one unified endpoint

This gateway aggregates or proxies other MCP servers; it only becomes useful once you connect real servers behind it.

Category
Dev Tools #74 of 438
Stars
★ 521 Popular
Transport
stdio (local process) · SSE · Streamable HTTP
Runtime
Node.js 18+
Credentials
No credential needed
License
MIT
Last commit
⚠
63FMRS · C

MCP Hub focuses on centralized orchestration and monitoring of multiple MCP servers, with highlights including a single /mcp endpoint aggregating all capabilities, automatic namespacing to avoid conflicts, real-time SSE events, and VS Code config compatibility. It does not implement Roots, Sampling or Completion, and it ships no domain-specific tools of its own; note the security surface created by ${cmd:} command execution and secret injection.

Strongest · Documentation 16/20 Weakest · Security and permissions 9/20

Reliability
10/20
Security and permissions
9/20
Maintenance
14/20
Documentation
16/20
Setup experience
14/20
Why each score
Reliability 10/20
Static review sees README only; no cached manifest at repository root and no CI workflows or committed tests are evidenced. The described surface (unified /mcp endpoint, namespacing, SSE events, auto-reconnect with backoff, health checks, typed error classes) is coherent, but every claim rests on self-authored docs and cannot be verified against real init handshake or tool-list behavior. No reproducible failure-mode evidence or dependency-control detail. Given the static cap of 12 and thin verifiable evidence, score 10: happy path plausible, verification and edge/error coverage unproven.
Security and permissions 9/20
No malware, credential theft, or exfiltration intent visible. Risks are by design: ${cmd: ...} placeholders execute arbitrary local commands (e.g. op/aws) and inject output into env and headers; MCP_HUB_ENV broadcasts secrets into every managed server; the /api/* REST surface exposes start/stop/restart, tool execution, and resource access with no documented bind address, localhost restriction, or auth, and no confirmation gate for command execution or tool invocation. OAuth 2.0 with PKCE is a positive. No red line triggered, but least privilege, confirmation, and data-flow disclosure are incomplete, so 9.
Maintenance 14/20
MIT license is explicit; 517 stars and 21 open issues, with a clear owner (ravitemer) and a coherent project family (mcphub.nvim, mcp-registry) plus a partially completed Todo indicating ongoing work. However there is no dated release history, no dependency-update policy, and no security-response channel in the provided material. Fits 'active but governance/versioning gaps,' score 14.
Documentation 16/20
Documentation is strong: install, CLI options, STDIO and remote server fields, VS Code compatibility and variable substitution, multiple REST endpoints with response samples, SSE event types and payloads, error classes, log paths, architecture sequence diagrams, and registry notes. Deductions: no compatibility matrix beyond a protocol version, no auth/authorization or rate-limit guidance, cost and troubleshooting handled only in passing, and much content is unverifiable self-description. Score 16.
Setup experience 14/20
Path is clear: npm i -g mcp-hub, then launch with --port and --config, plus a single-endpoint client config example; Nix flake and Neovim integration examples lower the barrier further. Deductions: users must author their own config, dev-mode cwd must be an absolute path, VS Code ${input:} requires manually setting MCP_HUB_ENV, and there is no single end-to-end from-zero tutorial or troubleshooting for common connection failures. Under the static cap of 15, score 14.

Static review · not runListed 2026-09-10

Read the FMRS scoring method →

Fit and risk

What it can accessRuns commands or codeUses the network

Best for

  • Developers orchestrating several MCP servers at once
  • Users who want a single endpoint configured in their MCP clients
  • Automation that needs live status and capability-change notifications

Not for

  • Users who only need one simple MCP server and no middle layer
  • Clients requiring Roots, Sampling or Completion capabilities (not supported)
  • Environments without Node.js 18+

Required permissions

  • Read and parse the specified JSON configuration files
  • Execute local commands through ${cmd:} placeholders while resolving configuration
  • Inject MCP_HUB_ENV and per-server env variables into managed child processes
  • Spawn stdio child processes using the configured command/args
  • Make network requests to configured remote URLs with custom auth headers
  • Write log and workspace cache files under the XDG state directory

Risks and side effects

  • ${cmd: command args} executes arbitrary local commands during config resolution, which is risky if the config is tampered with
  • Starting local stdio servers is equivalent to running arbitrary commands with your user privileges
  • MCP_HUB_ENV and server env values may hold secrets that can leak if configs or logs are readable by others
  • Remote server credentials (OAuth, Bearer tokens) must be stored securely
  • Misconfigured --auto-shutdown can terminate the hub unexpectedly

Setup

Before you start

Runtime:Node.js 18+

MCP_HUB_ENV optionalsecret A JSON-string env var that injects shared key-value pairs (like ${input:} variables or tokens) into every managed MCP server; its contents may include secrets — set it only when needed.
  1. Install globally: npm install -g mcp-hub.
  2. Prepare a JSON config file (JSON5 supported, VS Code servers/mcpServers keys and ${} placeholders supported).
  3. Start the hub: mcp-hub --port 3000 --config path/to/config.json (repeat --config to merge multiple files in order).
  4. Point your MCP client at the single endpoint, e.g. for Claude Desktop: {"mcpServers":{"Hub":{"url":"http://localhost:37373/mcp"}}}.

Requires Node.js >= 18.0.0.

claude_desktop_config.json
{
  "mcpServers": {
    "Hub": {
      "url": "http://localhost:37373/mcp"
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "Hub": {
      "url": "http://localhost:37373/mcp"
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add --transport http Hub http://localhost:37373/mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Add the endpoint http://localhost:37373/mcp to your client and check that namespaced tools (e.g. server__tool) appear in the tool list; alternatively run GET /api/health and confirm the hub state is ready.

Troubleshooting

  1. If the hub fails to start, check that Node.js is >= 18.0.0
  2. If clients cannot connect, verify the port and the /mcp path (example default is 37373)
  3. If configuration is ignored, confirm the --config paths and remember later files override earlier ones
  4. If variables or commands do not resolve, check the ${} placeholder syntax and `${cmd:}` output
  5. For port conflicts, inspect the workspace cache at $XDG_STATE_HOME/mcp-hub/workspaces.json and clean stale entries
  6. For diagnostics, check logs at $XDG_STATE_HOME/mcp-hub/logs/mcp-hub.log

Things to try

Once connected, you can ask your AI assistant things like:

  • List all MCP servers currently connected to the Hub and their available tools
  • Call the filesystem server's search tool through the Hub
  • Start the myserver server from the config and show its status
  • Refresh the tools, resources, and prompts of all managed servers

Use cases

Connect many MCP servers to a client such as Claude Desktop through one endpoint
Manage startup, shutdown and configuration of local (stdio) and remote (streamable-http/SSE) MCP servers
Monitor server status and capability changes in real time via REST API or SSE events
Reuse the same mcp.json across VS Code and MCP Hub
Call MCP tools and resources from Neovim via mcphub.nvim

Supported clients

Claude Desktop
Cline
Neovim

Listed from the project's documentation, not tested by this site.

Overview

MCP Hub acts as a central coordinator between MCP servers and clients, exposing two interfaces: a management interface (/api/*) for controlling multiple MCP servers through a unified REST API and web UI, and an MCP server interface (/mcp) that lets any MCP client reach all managed server capabilities through a single endpoint. It implements the MCP 2025-03-26 specification, supports stdio, streamable-http and SSE transports, OAuth 2.0 with PKCE and header-based tokens, and adds server lifecycle management, health monitoring, auto-reconnection, hot reload, SSE-based real-time events, and VS Code configuration compatibility.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 63.3k · Tools 2 Compare with this →

Source revision 9c7670a4c341 Data synced 2026-10-19 Read the FMRS scoring method