[!CAUTION] ⚠️ 正在进行中: 此注册表正处于积极开发和测试阶段。API 和数据结构可能会发生变化。不建议在生产环境中使用。
实时注册表: https://ravitemer.github.io/mcp-registry/registry.json
这是一个由社区维护的模型上下文协议(MCP)服务器注册表,带有结构化的安装配置,便于集成。
欢迎来到MCP注册表!🚀
MCP生态系统正在迅速发展,但找到并配置服务器可能具有挑战性。此注册表通过提供一个集中的、社区维护的MCP服务器集合解决了这个问题,这些服务器带有结构化的安装配置。
这个注册表有什么特别之处?
${VARIABLE}语法的智能占位符系统,便于定制。无论您是构建MCP客户端、管理服务器中心,还是仅仅想发现新的服务器,此注册表都提供了您需要的结构化数据!
${VARIABLE}语法,便于替换。mcp-registry/
├── servers/ # 服务器定义文件(YAML)
│ ├── filesystem.yaml
│ ├── github.yaml
│ └── ...
└── schemas/ # 验证模式
└── server-entry.js
每个服务器在servers/目录下的YAML文件中定义,具有以下结构:
# 基本信息
id: server_name # 唯一标识符(字母数字+下划线,至少3个字符)
name: 显示名称 # 人类可读名称
description: 简短描述,不超过200个字符
author: 作者姓名 # 作者或组织
url: https://github.com/author/repo # 文档或仓库URL
license: MIT # 软件许可(可选)
# 分类
category: development # 主要类别
tags: # 可搜索关键词
- 标签1
- 标签2
# 安装方法
installations:
- name: NPX # 安装方法名称
description: 使用NPX运行 # 简短描述
config: | # JSON配置模板
{
"command": "npx",
"args": ["-y", "package-name", "${PARAM}"]
}
prerequisites: # 系统需求
- Node.js
parameters: # 此安装的参数
- name: 参数名称
key: PARAM
description: 参数描述
placeholder: 示例值
required: true
transports: # 此安装支持的传输方法
- stdio
- sse
- streamable-http
# 质量指标
featured: false # 特别推荐的服务器
verified: false # 维护者验证过的
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(200),
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();
每个服务器可以提供多种安装方法以适应不同的环境:
注册表使用${VARIABLE}占位符系统用于配置模板:
贡献一个新的MCP服务器很容易!遵循以下步骤:
git clone https://github.com/YOUR-USERNAME/mcp-registry.git
cd mcp-registry
npm install
servers/目录下创建一个新的YAML文件my-awesome-server.yaml)提交之前,请验证您的服务器定义:
# 验证您的服务器定义
npm run validate
# 运行所有测试
npm test
在继续之前修复所有验证错误。
git add servers/my-server.yaml
git commit -m "添加我的优秀服务器到注册表"
git push origin main
提交后:
https://ravitemer.github.io/mcp-registry/registry.json对这个仓库的每次拉取请求都会触发全面的验证工作流。 只有通过以下所有检查,您的提交才会被接受:
模式验证: 每个服务器YAML文件必须匹配严格的Zod模式。
唯一ID和名称:
所有服务器必须具有唯一的id和name。
文件之间的重复ID或名称会导致验证失败。
有效的JSON配置:
每个安装的config字段必须是一个有效的JSON字符串。
参数占位符一致性:
安装的config中的每个${VARIABLE}占位符必须在其安装的parameters数组中有对应的参数声明。
如果这些检查中的任何一个失败,您的PR将被标记为失败,并且您将在PR日志中看到详细的错误消息。
准备好贡献了吗?从分叉仓库开始,添加您的MCP服务器!🚀