MCPHub
by samanhappy
MCPHub is a unified hub server that consolidates multiple MCP (Model Context Protocol) servers into a single SSE endpoint. It streamlines service management by offering a centralized interface for all your MCP server needs.
Last updated: N/A
MCPHub: Deploy Your Own MCP Servers in Minutes
English | 中文版
MCPHub is a unified hub server that consolidates multiple MCP (Model Context Protocol) servers into a single SSE endpoint. It streamlines service management by offering a centralized interface for all your MCP server needs.

Dashboard Preview
Features
- Built-in featured MCP Servers: Comes with featured MCP servers like
amap-maps
,playwright
,slack
, and more. - Centralized Management: Oversee multiple MCP servers from one convenient hub.
- Broad Protocol Support: Works seamlessly with both stdio and SSE MCP protocols.
- Intuitive Dashboard UI: Monitor server status and manage servers dynamically via a web interface.
- Flexible Server Management: Add, remove, or reconfigure MCP servers without restarting the hub.
Quick Start
Configuration (Optional but Recommended)
- Customize your MCP server settings by creating the
mcp_settings.json
file. For example:
{
"mcpServers": {
"amap-maps": {
"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"
}
}
},
"users": [
{
"username": "admin",
"password": "$2b$10$Vt7krIvjNgyN67LXqly0uOcTpN0LI55cYRbcKC71pUDAP0nJ7RPa.",
"isAdmin": true
}
]
}
-
The above example includes the
amap-maps
,playwright
,fetch
, andslack
servers. You can add or remove servers as needed. -
The
users
section allows you to set up user authentication. The default root user isadmin
with the passwordadmin123
. You can change them as needed. -
The password is hashed using bcrypt. You can generate a new password hash using the following command:
npx bcryptjs your-password
Starting MCPHub with Docker
Run the following command to quickly launch MCPHub with default settings:
docker run -p 3000:3000 samanhappy/mcphub
Run the following command to launch MCPHub with custom settings:
docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub
Dashboard Access
Open your web browser and navigate to: http://localhost:3000
, then login using the credentials you set in the mcp_settings.json
file.
The default credentials are:
- Username:
admin
- Password:
admin123
The dashboard provides:
- Real-Time Monitoring: Keep an eye on the status of all MCP servers.
- Service Status Indicators: Quickly see which services are online.
- Dynamic Server Management: Add or remove MCP servers on the fly without needing to restart.
SSE Endpoint
Seamlessly connect your host applications (e.g., Claude Desktop, Cursor, Cherry Studio, etc.) to the MCPHub SSE endpoint at: http://localhost:3000/sse
Local Development
Clone the Repository
Clone MCPHub from GitHub:
git clone https://github.com/samanhappy/mcphub.git
Optional Configuration
Customize your MCP server settings by editing the mcp_settings.json
file.
Start the Development Server
Install dependencies and launch MCPHub:
cd mcphub && pnpm install && pnpm dev
Community and Contributions
MCPHub started as a small side project that I developed on a whim, and I'm amazed at the attention it has received. Thank you all for your support!
Currently, MCPHub still has many areas that need optimization and improvement. Any contributions, whether in the form of code, documentation, or suggestions, are more than welcome.
License
This project is licensed under the Apache 2.0 license.