README
🚀 MCP 服务器仪表盘:MCP 服务器统一管理平台
MCP 服务器仪表盘通过将多个 MCP(模型上下文协议)服务器组织成灵活的流式 HTTP(SSE)端点,简化了对这些服务器的管理和扩展。它支持按需访问所有服务器、单个服务器或逻辑分组的服务器集合。

🚀 快速开始
配置
通过创建 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": {
"SLACK_BOT_TOKEN": "your-bot-token",
"SLACK_TEAM_ID": "your-team-id"
}
}
}
}
Docker 部署
使用 Docker Compose 快速开始:
# 克隆仓库
git clone https://github.com/zxerai/MCP-Server.git
cd MCP-Server
# 使用默认配置启动
docker-compose up -d
# 或者使用 Nginx 反向代理启动
docker-compose --profile nginx up -d
# 全栈部署(包含 Redis 和 PostgreSQL)
docker-compose --profile nginx --profile redis --profile postgres up -d
手动运行 Docker: 挂载自定义配置(推荐):
docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json -v ./data:/app/data mcpserver:1.0.0
或者使用默认设置运行:
docker run -p 3000:3000 mcpserver:1.0.0
访问管理控制台
打开 http://localhost:3000 并使用您的凭据登录。
⚠️ 重要提示
默认凭据为
admin/admin123。
控制台功能:
- 实时监控所有 MCP 服务器状态
- 启用/禁用或重新配置服务器
- 进行组管理以组织服务器访问
- 进行用户管理以实现访问控制
流式 HTTP 端点
⚠️ 重要提示
不同的 AI 客户端对流式 HTTP 端点的支持有所不同。如果遇到问题,您可以使用 SSE 端点或等待未来更新。
通过以下地址连接 AI 客户端(如 Claude Desktop、Cursor、DeepChat 等):
http://localhost:3000/mcp
此端点为您的所有 MCP 服务器提供了统一的流式 HTTP 接口,允许您:
- 向任何已配置的 MCP 服务器发送请求
- 接收实时响应
- 轻松与各种 AI 客户端和工具集成
- 对所有服务器使用相同的端点,简化集成过程
智能路由(实验性功能): 智能路由是 MCP 服务器仪表盘的智能工具发现系统,它使用向量语义搜索自动为任何给定任务找到最相关的工具。
http://localhost:3000/mcp/$smart
工作原理:
- 工具索引:所有 MCP 工具会自动转换为向量嵌入,并使用 pgvector 存储在 PostgreSQL 中。
- 语义搜索:用户查询会转换为向量,并使用余弦相似度与工具嵌入进行匹配。
- 智能过滤:动态阈值确保获得相关结果而无噪音。
- 精确执行:找到的工具可以在进行适当的参数验证后直接执行。
设置要求:
要启用智能路由,您需要:
- 带有 pgvector 扩展的 PostgreSQL
- OpenAI API 密钥(或兼容的嵌入服务)
- 在 MCP 服务器仪表盘设置中启用智能路由
基于组的 HTTP 端点(推荐):
要有针对性地访问特定的服务器组,请使用基于组的 HTTP 端点:
http://localhost:3000/mcp/{group}
其中 {group} 是您在仪表盘中创建的组的 ID 或名称。这允许您:
- 连接到按用例组织的 MCP 服务器子集
- 隔离不同的 AI 工具,使其仅访问相关服务器
- 为不同的环境或团队实施更精细的访问控制
- 通过组名轻松识别和管理服务器
- 允许不同的 AI 客户端使用相同的端点,简化集成过程
特定服务器的 HTTP 端点: 要直接访问单个服务器,请使用特定服务器的格式:
http://localhost:3000/mcp/{server}
其中 {server} 是您要连接的服务器的名称。这允许直接访问特定的 MCP 服务器。
⚠️ 重要提示
如果服务器名称和组名称相同,组名称将优先。
SSE 端点(服务器发送事件)
对于更喜欢 SSE 连接的 AI 客户端,请使用以下端点: 全局 SSE 访问:
http://localhost:3000/mcp/sse
智能路由 SSE:
http://localhost:3000/mcp/sse/$smart
基于组的 SSE:
http://localhost:3000/mcp/sse/{group}
特定服务器的 SSE:
http://localhost:3000/mcp/sse/{server}
✨ 主要特性
- 全面的 MCP 服务器支持:以最少的配置要求无缝集成任何 MCP 服务器。
- 集中管理控制台:通过一个简洁的 Web UI 监控所有服务器的实时状态和性能指标。
- 灵活的协议兼容性:全面支持 stdio 和 SSE MCP 协议。
- 热插拔配置:在运行时动态添加、删除或更新服务器配置,无需停机。
- 基于组的访问控制:使用自定义组组织服务器并管理访问权限。
- 安全认证系统:内置基于 JWT 和 bcrypt 的基于角色的访问控制的用户管理。
- 支持 Docker 部署:提供容器化镜像以实现快速部署。
💻 使用示例
本地开发
git clone https://github.com/zxerai/MCP-Server.git
cd MCP-Server
pnpm install
pnpm dev
这将在开发模式下启动前端和后端,并支持热重载。
💡 使用建议
对于 Windows 用户,您可能需要分别启动后端服务器和前端:
pnpm backend:dev,pnpm frontend:dev。
📚 详细文档
常见问题与故障排除
使用 Nginx 作为反向代理
如果您使用 Nginx 对 MCP 服务器仪表盘进行反向代理,请确保在 Nginx 设置中添加以下配置:
proxy_buffering off
完整的配置示例请参阅包含的 nginx.conf 文件。
Docker 部署问题
- 端口冲突:如果端口 3000 已被使用,请修改
MCPSERVER_PORT环境变量。 - 权限问题:确保 Docker 具有访问挂载卷的适当权限。
- 内存限制:如果遇到性能问题,请调整 Docker 内存限制。
认证问题
- 默认凭据:请记住在生产环境中更改默认凭据(
admin/admin123)。 - JWT 令牌问题:如果遇到令牌验证问题,请检查系统时间同步。
🔧 技术细节
- 后端:Node.js、Express、TypeScript
- 前端:React、Vite、Tailwind CSS
- 数据库:SQLite(默认)、PostgreSQL(可选)
- 认证:JWT 和 bcrypt
- 协议:模型上下文协议 SDK
- 容器化:Docker 和 Docker Compose
- 反向代理:Nginx(可选)
- 缓存:Redis(可选)
⭐ 如果您觉得这个项目有帮助,请给这个仓库点个星!
由 MCP 服务器仪表盘团队用心打造。
Scan to join WeChat group