使用说明
MCP注册表
[!小心] ⚠️ 进行中:该注册表目前正处于积极的开发和测试阶段。API和数据结构可能会发生变化。不建议用于生产。
实时注册表: https://ravitemer.github.io/mcp-registry/registry.json
一个由社区维护的模型上下文协议(MCP)服务器注册表,具有结构化的安装配置,便于集成。
欢迎
欢迎来到MCP注册表! 🚀
模型上下文协议(MCP)生态系统正在迅速发展,但查找和配置服务器可能具有挑战性。该注册表通过提供具有结构化安装配置的集中式、社区维护的MCP服务器集合来解决这个问题。
是什么让这个注册表与众不同?
- 📦 一键安装:每台服务器都配有流行工具(NPX、Docker、Python等)的现成配置
- 🔧 参数系统:智能占位符系统使用
${VARIABLE}易于自定义的语法 - 🚦 交通信息:明确指示支持的协议(stdio、SSE、可流式传输的http)
- ✅ 质量保证:全面的验证和测试确保所有定义正确工作
- 🤝 社区驱动:通过GitHub pull请求轻松完成贡献过程
- 🎯 集成就绪:专为与MCP客户端和集线器无缝集成而设计
无论您是在构建MCP客户端、管理服务器中心,还是只是想发现新的服务器,此注册表都能提供您所需的结构化数据!
注册表结构和功能
概述
- 注册表中的每个MCP服务器都在一个YAML文件中定义
- 每台服务器可以有多种安装方式(NPX、Docker、Python等)
- 安装配置已准备好使用JSON模板
- 参数使用
${VARIABLE}易于替换的语法
目录结构
mcp-registry/
├── servers/ # Server definition files (YAML)
│ ├── filesystem.yaml
│ ├── github.yaml
│ └── ...
└── schemas/ # Validation schemas
└── server-entry.js
服务器定义格式
每个服务器都在YAML文件中定义 servers/ 目录具有以下结构:
# Basic Information
id: server_name # Unique identifier (alphanumeric + underscore, min 3 chars)
name: Display Name # Human-readable name
description: Brief description under 400 characters
author: Author Name # Author or organization
url: https://github.com/author/repo # Documentation or repository URL
license: MIT # Software license (optional)
# Classification
category: development # Primary category
tags: # Searchable keywords
- tag1
- tag2
# Installation Methods
installations:
- name: NPX # Installation method name
description: Run using NPX # Brief description
config: | # JSON configuration template
{
"command": "npx",
"args": ["-y", "package-name", "${PARAM}"]
}
prerequisites: # System requirements
- Node.js
parameters: # Parameters for this installation
- name: Parameter Name
key: PARAM
description: Parameter description
placeholder: example-value
required: true
transports: # Supported transport methods for this installation
- stdio
- sse
- streamable-http
# Quality Indicators
featured: false # Featured/recommended server
verified: false # Verified by maintainers
验证模式(Zod)
import { z } from 'zod';
export const ParameterSchema = z.object({
name: z.string().min(1),
key: z.string().min(1),
description: z.string().optional(),
placeholder: z.string().optional(),
required: z.boolean().default(true),
}).strict();
export const InstallationSchema = z.object({
name: z.string().min(1),
description: z.string().optional(),
config: z.string().min(1),
prerequisites: z.array(z.string()).optional(),
parameters: z.array(ParameterSchema).optional(),
transports: z.array(z.enum(['stdio', 'sse', 'streamable-http'])).optional(),
}).strict();
export const ServerSchema = z.object({
id: z.string().min(1),
name: z.string().min(1),
description: z.string().min(1).max(400),
author: z.string(),
url: z.string().url(),
license: z.string().optional(),
category: z.string(),
tags: z.array(z.string()),
installations: z.array(InstallationSchema).min(1),
featured: z.boolean().default(false),
verified: z.boolean().default(false),
}).strict();
安装方法
每台服务器都可以提供多种安装方法来适应不同的环境:
- NPX:Node.js包执行
- 码头工人:基于容器的执行
- Python/UVX:基于Python的服务器
- 远程:直接HTTP连接
- 自定义:任何其他安装方法
参数系统
注册表使用 ${VARIABLE} 配置模板占位符系统:
- 如果存在,应为每种安装方法声明参数
- 每个参数都包括名称、描述、占位符和必需的标志
- 消费者在安装过程中将占位符替换为实际值
贡献过程
贡献一个新的MCP服务器很容易!请按照以下步骤操作:
1.分叉存储库
- 访问MCP注册表存储库: https://github.com/ravitemer/mcp-registry
- 点击右上角的“叉”按钮
- 这将创建您自己的副本,您可以在其中进行更改
2.克隆你的叉子
git clone https://github.com/YOUR-USERNAME/mcp-registry.git
cd mcp-registry
npm install
3.创建服务器定义
- 在中创建一个新的YAML文件
servers/目录 - 使用描述性文件名(例如。,
my-awesome-server.yaml) - 遵循上述服务器定义格式
- 包括所有必填字段和至少一种安装方法
4.测试您的服务器
提交之前,请验证您的服务器定义:
# Validate your server definition
npm run validate
# Run all tests
npm test
在继续之前,请修复所有验证错误。
5.承诺并推动你的改变
git add servers/my-server.yaml
git commit -m "Add My Awesome Server to registry"
git push origin main
6.创建拉取请求
- 转到原始存储库: https://github.com/ravitemer/mcp-registry
- 点击“Pull Requests”,然后点击“New Pull Request”
- 点击“跨叉比较”
- 选择您的fork作为头部存储库
- 提供清晰的标题和描述
- 提交拉取请求
7.审查过程
提交后:
- 将运行自动测试来验证您的服务器定义
- 维护人员将审查您的提交
- 他们可能会要求更改或改进
- 一旦获得批准,您的服务器将被合并并自动部署
- 您的服务器将在以下位置可用:
https://ravitemer.github.io/mcp-registry/registry.json
Pull请求的自动验证
对此存储库的每个拉取请求都会触发一个全面的验证工作流。
只有通过以下所有检查,您的提交才会被接受:
-
架构验证:
每个服务器的YAML文件都必须与 严格的Zod模式.- 不允许有额外的字段。
- 所有必填字段都必须存在。
-
唯一ID和名称:
所有服务器必须具有唯一id和name.
文件中重复的ID或名称将导致验证失败。 -
配置中的有效JSON:
每个安装config字段必须是有效的JSON字符串。 -
参数占位符一致性:
每${VARIABLE}安装中的占位符config必须在该安装中声明相应的参数parameters阵列。
如果这些检查中的任何一项失败,您的PR将被标记为失败,您将在PR日志中看到详细的错误消息。
最佳实践
- 清晰的描述:在400个字符以内写简洁、翔实的描述
- 综合标签:使用相关标签使您的服务器可被发现
- 多种安装方式:尽可能为不同环境提供选项
- 准确的先决条件:清楚地列出所有系统要求
- 参数文档:包括有用的描述和示例值
- 测试:提交前彻底测试服务器定义
- 高质量URL:确保存储库URL准确
准备好贡献了吗?首先分叉存储库并添加您的MCP服务器! 🚀