mirror of
https://github.com/samanhappy/mcphub.git
synced 2025-12-24 02:39:19 -05:00
139 lines
4.0 KiB
Markdown
139 lines
4.0 KiB
Markdown
# MCPHub: Deploy Your Own MCP Servers in Minutes
|
|
|
|
English | [中文版](README.zh.md)
|
|
|
|
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.
|
|
|
|

|
|
|
|
## 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:
|
|
```json
|
|
{
|
|
"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`, and `slack` servers. You can add or remove servers as needed.
|
|
- The `users` section allows you to set up user authentication. The default root user is `admin` with the password `admin123`. You can change them as needed.
|
|
- The password is hashed using bcrypt. You can generate a new password hash using the following command:
|
|
|
|
```bash
|
|
npx bcryptjs your-password
|
|
```
|
|
|
|
### Starting MCPHub with Docker
|
|
|
|
Run the following command to quickly launch MCPHub with default settings:
|
|
|
|
```bash
|
|
docker run -p 3000:3000 samanhappy/mcphub
|
|
```
|
|
|
|
Run the following command to launch MCPHub with custom settings:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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](LICENSE).
|