使用说明
MCP 中心 🚀
模型上下文协议(MCP)服务器的中央注册表和网关
🌟 概述
MCP Hub 是一个针对模型上下文协议(Model Context Protocol,简称 MCP)服务器的综合注册中心、网关和编排层。它提供了一个集中化的平台,用于在生态系统中发现、监控和与 MCP 服务器进行交互。
✨ 主要特点
- 🔍 服务器发现浏览并搜索经过整理的MCP服务器注册表
- 💚 健康监测实时健康状态和运行时间跟踪
- 🔄 代理网关使用认证和速率限制的安全请求代理
- 🔗 模式联邦来自多个服务器的统一模式,包含冲突解决机制
- 📊 分析使用统计和性能指标
- **🎨 现代用户界面(UI)**美观且响应灵敏的仪表板,支持暗色/浅色模式
- 🚀 100% 免费基于免费层级服务构建(Cloudflare Workers + Cloudflare Pages)
🏗️ 建筑
🛠️ 技术栈
前端(Cloudflare Pages)
- React 18 + TypeScript(可译为“React 18结合TypeScript”或保持原样,根据语境选择是否合并表述)
- Vite 用于构建工具链
- 使用 Tailwind CSS 进行样式设计
- 用于导航的React Router
后端(Cloudflare Workers)
- 使用ES2022目标的TypeScript
- 用于存储的Cloudflare KV
- 计划中的健康检查事件
- 内置速率限制和缓存功能
CI/CD(GitHub Actions)
- 自动化部署
- 健康监测
- 使用Lighthouse进行性能审计
- 自动为故障创建问题报告
🚀 快速入门
先决条件
- Node.js 18及以上版本
- npm 或 yarn
- Cloudflare账户(免费版)
- GitHub账户
1. 克隆仓库
git clone https://github.com/Abdelrahman-sadek/mcp-hub.git
cd mcp-hub
2. 本地开发
# Set up worker
cd worker
npm install
npm run dev
# Set up dashboard (in another terminal)
cd dashboard
npm install
npm run dev
3. 生产部署
混合架构Cloudflare Pages(仪表板)+ GitHub Actions(工作器)
配置 Cloudflare Pages:
- 首选 Cloudflare 控制面板 → 页
- 连接您的GitHub仓库
- 设置构建设置:
- 构建命令:
cd dashboard && npm install && npm run build - 输出目录:
dashboard/dist - 环境变量:
VITE_API_BASE_URL=https://mcp-hub-worker.tito-7t.workers.dev
- 构建命令:
启用 GitHub Actions:
- 前往仓库设置 → 动作 → 启用工作流
- 在设置中添加密钥 → 密钥:
CLOUDFLARE_API_TOKEN您的Cloudflare API令牌CLOUDFLARE_ACCOUNT_ID您的Cloudflare账户IDCLOUDFLARE_SUBDOMAIN蒂托-7t
📁 项目结构
mcp-hub/
├── .github/workflows/ # GitHub Actions
├── worker/ # Cloudflare Worker (API)
│ ├── src/
│ │ ├── index.ts # Main entry point
│ │ ├── router.ts # Request routing
│ │ ├── registry.ts # Server registry
│ │ ├── auth.ts # Authentication
│ │ ├── cache.ts # Caching layer
│ │ └── types.ts # TypeScript types
│ ├── package.json
│ ├── wrangler.toml
│ └── tsconfig.json
├── dashboard/ # React Dashboard
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── utils/ # Utilities
│ │ └── types.ts # TypeScript types
│ ├── public/
│ │ └── servers.json # Server registry
│ ├── package.json
│ └── vite.config.ts
├── scripts/ # Utility scripts
├── docs/ # Documentation
└── README.md
API 文档
基本URL
https://mcp-hub-worker.tito-7t.workers.dev
终点(或:终端点)
列出服务器
GET /api/servers?search=ai&verified=true&health=online&limit=20&offset=0
获取服务器详细信息
GET /api/servers/{server-id}
健康检查
GET /api/health?force=true
代理请求
POST /api/proxy
Content-Type: application/json
{
"serverId": "example-server",
"path": "/tools/list",
"method": "GET",
"headers": {
"Authorization": "Bearer token"
}
}
联合模式(或 联邦模式)
GET /api/schema?refresh=true
提交服务器
POST /api/submit
Content-Type: application/json
{
"name": "My MCP Server",
"description": "A powerful MCP server",
"url": "https://my-server.com",
"version": "1.0.0",
"tags": ["ai", "tools"],
"author": {
"name": "Your Name",
"github": "yourusername"
}
}
🎨 特点
- 服务器注册表浏览并发现MCP服务器
- 健康监测实时服务器状态追踪
- 搜索与筛选通过名称、标签或功能查找服务器
- 模式联邦跨服务器统一API架构
- 代理网关安全请求代理
- 速率限制每个IP每分钟100个请求
- 缓存5分钟响应缓存
- 深色模式全面支持深色/浅色主题
- 响应式设计以移动设备为先的响应式布局
🚦 当前状态
✅ 已完成的功能
- ✅ 第一至第三阶段核心基础设施和仪表板
- ✅ 第四至第六阶段健康监测、代理和模式联邦
- ✅ 第7-9阶段完整的仪表板、GitHub Actions 和文档
- ✅ 第10阶段测试基础设施和TypeScript优化
- ✅ 混合部署Cloudflare Pages + Workers 架构
🔄 部署状态
- 仪表盘准备好部署到Cloudflare Pages
- 工人API已准备好进行GitHub Actions部署
- 集成配置了自动化测试
- 文档附带部署指南
🎯 下一步行动
- 完成Cloudflare Pages的配置
- 启用 GitHub Actions 并添加密钥
- 验证端到端功能
🤝 贡献
- 为仓库创建分支(或:为仓库进行叉操作)
- 创建一个特性分支
- 做出你的更改
- 如适用,请添加测试
- 提交拉取请求
📄 许可证
MIT 许可证 - 详见 许可证 详情请参阅文件。
🔗 链接
为MCP社区倾情打造
