mcp注册表演示
使用GitHub页面演示MCP注册表
此存储库托管一个GitHub Pages站点,该站点为GitHub Copilot提供模型上下文协议(MCP)注册表v0.1 API。
特性
- ✅ 完整的MCP注册表v0.1 API规范支持
- ✅ 符合OpenAPI 3.1标准 -已验证 官方MCP注册表OpenAPI规范
- ✅ 用于服务器发现的RESTful API端点
- ✅ CORS支持跨源请求
- ✅ GitHub Pages部署的静态站点生成
- ✅ 使用Jest和Supertest进行集成测试
- ✅ 自动OpenAPI模式验证
- ✅ 通过GitHub Actions自动部署
API终点
注册表实现了v0.1规范:
列出所有服务器
GET /v0.1/servers返回所有MCP服务器的分页列表。支持查询参数:
search-按名称、描述或标签筛选服务器limit-最大结果数(默认值:30,最大值:100)updated_since-在此日期之后更新的筛选服务器
例子: https://rajbos.github.io/mcp-registry-demo/v0.1/servers/
获取最新服务器版本
GET /v0.1/servers/:serverName/versions/latest返回特定服务器的最新版本。
例子: https://rajbos.github.io/mcp-registry-demo/v0.1/servers/github-mcp-server/versions/latest/
获取特定服务器版本
GET /v0.1/servers/:serverName/versions/:version返回服务器的特定版本。
例子: https://rajbos.github.io/mcp-registry-demo/v0.1/servers/github-mcp-server/versions/1.0.0/
项目结构
├── src/
│ ├── app.js # Express application with API routes
│ ├── server.js # Server entry point for local development
│ ├── build-static.js # Static site generator
│ └── data/
│ └── servers.json # Server registry data
├── tests/
│ ├── api.test.js # API integration tests
│ └── openapi-validation.test.js # OpenAPI schema validation tests
├── docs/
│ └── openapi.yaml # OpenAPI specification (from MCP registry)
├── .github/
│ └── workflows/
│ └── pages.yml # GitHub Actions deployment workflow
├── index.html # Landing page
└── package.json # Node.js dependencies and scripts发展
先决条件
- Node.js 20.x或更高版本
- npm
设置
npm install运行测试
npm test运行开发服务器
npm run devAPI将于 http://localhost:3000
构建静态站点
npm run build这将在 _site GitHub Pages部署目录。
验证注册表API
./tests/bash-validation.sh [REGISTRY_URL]针对注册表API运行全面的验证测试。测试包括:
- 端点可用性和响应代码(GET/v0.1/服务器等)
- JSON结构验证
- HTTP标头验证
- CORS标头验证 (VS代码需要):
- Access-Control-Allow-Origin: * - Access-Control-Allow-Methods: GET, OPTIONS - Access-Control-Allow-Headers: Authorization, Content-Type
- OPTIONS飞行前请求支持
- 分页支持
- 错误处理
示例:
# Test local server
./tests/bash-validation.sh http://localhost:3000
# Test official MCP registry
./tests/bash-validation.sh https://registry.modelcontextprotocol.io
# Verbose output
VERBOSE=1 ./tests/bash-validation.sh http://localhost:3000备注:bash验证脚本检查CORS标头是否正确。如果部署到GitHub Pages,请注意GitHub Pages不支持自定义HTTP标头。如果需要与VS代码一起用于生产,请考虑使用Azure API管理之类的服务来添加CORS头。
部署
当更改被推送到GitHub时,该网站会通过GitHub Actions自动部署到GitHub Pages main 支。工作流程:
- 安装Node.js依赖项
- 运行集成测试
- 构建静态站点
- 部署到GitHub页面
使用GitHub Copilot
要将此注册表与GitHub Copilot一起使用:
- 导航到您的组织或企业GitHub Copilot设置
- 将MCP注册表URL设置为:
https://rajbos.github.io/mcp-registry-demo/ - 将策略设置为“仅注册表”,以限制对此注册表中列出的服务器的访问
添加服务器
要将新的MCP服务器添加到注册表中,请执行以下操作:
- 编辑
src/data/servers.json - 按照JSON模式格式添加服务器
- 运行测试以验证:
npm test - 构建并验证:
npm run build - 承诺并推动变革
