使用说明
MCP注册表镜像和API服务器
一个TypeScript实现 模型上下文协议注册表,提供:
- 注册表镜像应用程序 -Next.js web应用程序部署在Vercel上
- 可重复使用的API服务器包 -npm包,用于为您自己的应用程序添加注册表功能
- 验证工具 -server.json文件的模式验证和linting
🚀 实时应用程序
https://registry.teamspark.ai/
特性
- 注册表资源管理器 -从官方注册表浏览和搜索MCP服务器
- 服务器详细信息 -查看完整的元数据、包和配置选项
- 配置生成器 -使用自定义设置生成MCP客户端配置
- 服务器.json测试仪 -验证并整理server.json文件
- API访问 -完整的REST API位于
/api/v0/*端点
📦 包裹
这个monorepo包含可重用的TypeScript包:
mcp-registry-validator
MCP服务器.json文件的模式验证和linting。适用于Node.js和浏览器环境。
主要特点:
- 具有自动版本检测功能的多版本模式支持
- 最佳实践的全面棉绒规则
- 带有JSON路径引用的详细错误消息
- CLI工具和编程API
mcp-registry-server
实现MCP注册表协议的核心API服务器。协议实现是 完全独立 web框架和数据存储机制。
三层架构:
- 协议核心:与框架无关的服务(没有HTTP/框架依赖关系)
- 数据源:可插拔接口-文件、数据库、HTTP、自定义
- 框架适配器:薄包装-Next.js、Express等。
这种分离使相同的协议实现能够跨所有框架和存储选项工作。
🏗️ 建筑
数据流
Official Registry (GitHub)
↓ (daily sync via GHA)
server-registry.json
↓ (loaded by FileDataSource)
In-Memory Cache
↓ (served by RegistryService)
API Endpoints
↓ (consumed by frontend)
Next.js Application
关键设计原则
- 前端100%基于API -客户端无法直接访问文件
- 可插拔数据源 -将FileDataSource替换为数据库、网关等。
- 服务器端验证 -在构建时捆绑的模式
- 无服务器就绪 -适用于Vercel、AWS Lambda等。
🔄 自动更新
GitHub Action每天运行一次,目的是:
- 下载最新
server-registry.json来自官方登记处 - 从同步架构版本
modelcontextprotocol/static - 提交更改并触发部署
看 .github/workflows/download-registry.yml
🛠️ 发展
先决条件
- Node.js 18+
- pnpm 10+
设置
# Install dependencies
pnpm install
# Build packages
pnpm --filter mcp-registry-validator build
pnpm --filter mcp-registry-server build
# Run dev server
pnpm run dev
当地API测试
默认情况下,应用程序使用外部注册表 https://registry.teamspark.ai/api/v0。若要改为针对本地API服务器进行测试,请创建 .env.local 文件:
# .env.local
NEXT_PUBLIC_REGISTRY_URL=/api/v0
这使您能够:
- 部署前在本地测试API更改
- 验证本地API实现
- 根据本地数据进行开发,不依赖于外部
如果没有这个变量,应用程序将使用默认的外部注册表(对于测试UX包集成很有用)。
项目结构
/app # Next.js application
/api # API routes
/components # React components
/servers/[serverId]/[versionId] # Dynamic server detail pages
/packages
/mcp-registry-validator # Validation package
/mcp-registry-server # API server package
/registry # Protocol references
/schema # JSON schemas (versioned)
openapi.yaml # API specification
/public
server-registry.json # Registry data (synced daily)
测试
# Run the validator
cd packages/mcp-registry-validator
pnpm dev validate path/to/server.json
# Test API endpoints
curl 'http://localhost:3000/api/v0/servers?limit=5'
curl 'http://localhost:3000/api/v0/servers/{serverId}/versions'
# Validate the entire registry
pnpm run registry:validate
📚 文档
🎯 当前状态
生产部署: https://registry.teamspark.ai/
✅ 建造了什么
- 具有API和web UI的注册表镜像应用程序
mcp-registry-validator-模式验证和linting包mcp-registry-server-带有Next.js适配器的核心API服务器- 服务器端验证端点
- 自动化日常数据和模式同步
- 具有内存缓存的生产部署
看 docs/deployment.md 有关部署详细信息和 todo.md 用于未来的增强想法。
🤝 贡献
这是官方MCP注册表协议的另一种TypeScript实现。有关协议讨论和问题,请参阅 官方登记项目.
📄 许可证
麻省理工学院
