MCPHub通过组织灵活的流式HTTP(SSE)端点,使管理多个MCP(模型上下文协议)服务器变得容易,支持访问所有服务器、单个服务器或逻辑服务器组。

创建一个mcp_settings.json文件来自定义您的服务器设置:
{
"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": {
你的bot令牌和团队ID
}
}
}
}
MCPHub支持OAuth 2.0,用于与上游MCP服务器进行身份验证。参见OAuth特性指南以获取完整步骤。实践中你会遇到两种配置模式:
动态注册示例:
{
"mcpServers": {
"vercel": {
"type": "sse",
"url": "https://mcp.vercel.com"
}
}
}
手动注册示例:
{
"mcpServers": {
"github": {
"type": "sse",
"url": "https://api.githubcopilot.com/mcp/",
"oauth": {
"clientId": "${GITHUB_OAUTH_APP_ID}",
"clientSecret": "${GITHUB_OAUTH_APP_SECRET}"
}
}
}
}
对于手动提供商,需在上游控制台创建OAuth应用,设置重定向URI为http://localhost:3000/oauth/callback(或您部署的域名),然后将凭据插入到仪表板或配置文件中。
MCPHub现在可以作为OAuth 2.0授权服务器,允许外部应用程序使用标准OAuth流程安全地访问您的MCP服务器。这对于与ChatGPT Web和其他需要OAuth认证的服务集成特别有用。
启用OAuth服务器:
{
"systemConfig": {
"oauthServer": {
"enabled": true,
"accessTokenLifetime": 3600,
"refreshTokenLifetime": 1209600,
"allowedScopes": ["read", "write"]
}
},
"oauthClients": [
{
"clientId": "your-client-id",
"name": "ChatGPT Web",
"redirectUris": ["https://chatgpt.com/oauth/callback"],
"grants": ["authorization_code", "refresh_token"],
"scopes": ["read", "write"]
}
]
}
关键特性:
详细设置说明,请参阅OAuth服务器文档。
推荐:挂载您的自定义配置:
docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data samanhappy/mcphub
或者使用默认设置运行:
docker run -p 3000:3000 samanhappy/mcphub
打开http://localhost:3000并使用您的凭据登录。
注意:默认凭据是
admin/admin123。
仪表盘概览:
目前,对流式HTTP端点的支持因不同的AI客户端而异。如果您遇到问题,可以使用SSE端点或等待未来的更新。
连接AI客户端(例如Claude Desktop、Cursor、DeepChat等)通过:
http://localhost:3000/mcp
此端点为所有MCP服务器提供统一的流式HTTP接口。它允许您:
智能路由(实验性):
智能路由是MCPHub的智能工具发现系统,它使用向量语义搜索自动找到最相关的工具。
# 搜索所有服务器
http://localhost:3000/mcp/$smart
# 搜索特定组内的服务器
http://localhost:3000/mcp/$smart/{group}
工作原理:
设置要求:

要启用智能路由,您需要:
组范围智能路由:
您可以结合智能路由和组过滤来仅搜索特定的服务器组:
# 仅搜索生产服务器
http://localhost:3000/mcp/$smart/production
# 仅搜索开发服务器
http://localhost:3000/mcp/$smart/development
这实现了:
组特定端点(推荐):

为了有针对性地访问特定的服务器组,使用基于组的HTTP端点:
http://localhost:3000/mcp/{group}
其中{group}是您在仪表盘中创建的组的ID或名称。这允许您:
服务器特定端点: 为了直接访问单个服务器,使用服务器特定的HTTP端点:
http://localhost:3000/mcp/{server}
其中{server}是要连接的服务器名称。这允许您直接访问特定的MCP服务器。
注意:如果服务器名称和组名称相同,则组名称优先。
连接AI客户端(例如Claude Desktop、Cursor、DeepChat等)通过:
http://localhost:3000/sse
对于智能路由,使用:
# 搜索所有服务器
http://localhost:3000/sse/$smart
# 搜索特定组内的服务器
http://localhost:3000/sse/$smart/{group}
为了有针对性地访问特定的服务器组,使用基于组的SSE端点:
http://localhost:3000/sse/{group}
为了直接访问单个服务器,使用服务器特定的SSE端点:
http://localhost:3000/sse/{server}
git clone https://github.com/samanhappy/mcphub.git
cd mcphub
pnpm install
pnpm dev
这将以开发模式启动前端和后端,并具有热重载功能。
对于Windows用户,您可能需要分别启动后端服务器和前端:
pnpm backend:dev,pnpm frontend:dev。
如果您使用Nginx作为MCPHub的反向代理,请确保在Nginx设置中添加以下配置:
proxy_buffering off
欢迎任何形式的贡献!
欢迎加入我们的Discord社区,参与讨论和支持。
如果您喜欢这个项目,也许您可以考虑:
本项目根据Apache 2.0许可证授权。