by samanhappy
Provides a centralized dashboard and streamable HTTP endpoints to manage and route multiple MCP servers, supporting dynamic configuration, group‑based access, JWT authentication, Docker deployment, and experimental smart routing.
MCPHub offers a unified hub that aggregates many MCP servers into a single, configurable platform. It exposes a streamable HTTP (SSE) endpoint and group‑ or server‑specific routes, enabling AI clients to interact with any configured tool without handling each server individually.
mcp_settings.json file describing each MCP server (command, arguments, environment variables).docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub
http://localhost:3000, log in (default admin/admin123), and manage servers, groups, and users.http://localhost:3000/mcp for the unified stream, or use http://localhost:3000/mcp/{group} and http://localhost:3000/mcp/{server} for scoped access. Smart routing is available via /$smart paths when enabled.Q: Do I need to run each MCP server separately?
A: No. Define the server command in mcp_settings.json; MCPHub will launch and manage them automatically.
Q: Can I use the hub without Docker?
A: Yes. Clone the repo, run pnpm install and pnpm dev (or pnpm backend:dev / pnpm frontend:dev on Windows).
Q: How does authentication work? A: Users are stored in the hub’s database with bcrypt‑hashed passwords. JWT tokens are issued on login and used to protect API endpoints.
Q: What is the difference between the /mcp and /sse endpoints?
A: /mcp returns a standard HTTP stream compatible with most AI clients; /sse is the legacy Server‑Sent Events endpoint slated for deprecation.
Q: How do I enable Smart Routing?
A: Install PostgreSQL with the pgvector extension, provide an OpenAI (or compatible) API key, and enable the feature in the hub settings.
Q: Can I customize the port?
A: Yes. Set the PORT environment variable when running the container or the Node.js process.
MCPHub makes it easy to manage and scale multiple MCP (Model Context Protocol) servers by organizing them into flexible Streamable HTTP (SSE) endpoints—supporting access to all servers, individual servers, or logical server groups.

Create a mcp_settings.json file to customize your server settings:
{
"mcpServers": {
"amap": {
"command": "npx",
"args": ["-y", "@amap/amap-maps-mcp-server"],
"env": {
"AMAP_MAPS_API_KEY": "your-api-key"
}
},
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--headless"]
},
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "your-bot-token",
"SLACK_TEAM_ID": "your-team-id"
}
}
}
}
Recommended: Mount your custom config:
docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub
or run with default settings:
docker run -p 3000:3000 samanhappy/mcphub
Open http://localhost:3000 and log in with your credentials.
Note: Default credentials are
admin/admin123.
Dashboard Overview:
As of now, support for streaming HTTP endpoints varies across different AI clients. If you encounter issues, you can use the SSE endpoint or wait for future updates.
Connect AI clients (e.g., Claude Desktop, Cursor, DeepChat, etc.) via:
http://localhost:3000/mcp
This endpoint provides a unified streamable HTTP interface for all your MCP servers. It allows you to:
Smart Routing (Experimental):
Smart Routing is MCPHub's intelligent tool discovery system that uses vector semantic search to automatically find the most relevant tools for any given task.
http://localhost:3000/mcp/$smart
How it Works:
Setup Requirements:

To enable Smart Routing, you need:
Group-Specific Endpoints (Recommended):

For targeted access to specific server groups, use the group-based HTTP endpoint:
http://localhost:3000/mcp/{group}
Where {group} is the ID or name of the group you created in the dashboard. This allows you to:
Server-Specific Endpoints: For direct access to individual servers, use the server-specific HTTP endpoint:
http://localhost:3000/mcp/{server}
Where {server} is the name of the server you want to connect to. This allows you to access a specific MCP server directly.
Note: If the server name and group name are the same, the group name will take precedence.
Connect AI clients (e.g., Claude Desktop, Cursor, DeepChat, etc.) via:
http://localhost:3000/sse
For smart routing, use:
http://localhost:3000/sse/$smart
For targeted access to specific server groups, use the group-based SSE endpoint:
http://localhost:3000/sse/{group}
For direct access to individual servers, use the server-specific SSE endpoint:
http://localhost:3000/sse/{server}
git clone https://github.com/samanhappy/mcphub.git
cd mcphub
pnpm install
pnpm dev
This starts both frontend and backend in development mode with hot-reloading.
For windows users, you may need to start the backend server and frontend separately:
pnpm backend:dev,pnpm frontend:dev.
If you are using Nginx to reverse proxy MCPHub, please make sure to add the following configuration in your Nginx setup:
proxy_buffering off
Contributions of any kind are welcome!
Welcome to join our Discord community for discussions and support.
If you like this project, maybe you can consider:
Licensed under the Apache 2.0 License.
Please log in to share your review and rating for this MCP.
{
"mcpServers": {
"amap": {
"command": "npx",
"args": [
"-y",
"@amap/amap-maps-mcp-server"
],
"env": {
"AMAP_MAPS_API_KEY": "<YOUR_API_KEY>"
}
},
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest",
"--headless"
]
},
"fetch": {
"command": "npx",
"args": [
"uvx",
"mcp-server-fetch"
]
},
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "<YOUR_BOT_TOKEN>",
"SLACK_TEAM_ID": "<YOUR_TEAM_ID>"
}
}
}
}claude mcp add amap npx -y @amap/amap-maps-mcp-serverExplore related MCPs that share similar capabilities and solve comparable challenges
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.