返回市场
MCP注册中心

MCP注册中心

作者:ravitemer16 星标更新:2025-11-23

项目介绍

MCP 注册表

[!CAUTION] ⚠️ 正在进行中: 此注册表正处于积极开发和测试阶段。API 和数据结构可能会发生变化。不建议在生产环境中使用。

实时注册表: https://ravitemer.github.io/mcp-registry/registry.json

这是一个由社区维护的模型上下文协议(MCP)服务器注册表,带有结构化的安装配置,便于集成。

欢迎

欢迎来到MCP注册表!🚀

MCP生态系统正在迅速发展,但找到并配置服务器可能具有挑战性。此注册表通过提供一个集中的、社区维护的MCP服务器集合解决了这个问题,这些服务器带有结构化的安装配置。

这个注册表有什么特别之处?

  • 📦 一键安装: 每个服务器都配有流行的工具(NPX、Docker、Python等)的现成配置。
  • 🔧 参数系统: 使用${VARIABLE}语法的智能占位符系统,便于定制。
  • 🚦 传输信息: 清晰地指示支持的协议(stdio、SSE、streamable-http)。
  • 质量保证: 全面的验证和测试确保所有定义都能正确工作。
  • 🤝 社区驱动: 通过GitHub拉取请求进行简单的贡献过程。
  • 🎯 集成准备: 设计用于与MCP客户端和中心无缝集成。

无论您是构建MCP客户端、管理服务器中心,还是仅仅想发现新的服务器,此注册表都提供了您需要的结构化数据!

注册表结构和特性

概览

  • 注册表中的每个MCP服务器都在一个单独的YAML文件中定义。
  • 每个服务器可以有多种安装方法(NPX、Docker、Python等)。
  • 安装配置是现成的JSON模板。
  • 参数使用${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                 # 维护者验证过的

验证模式(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(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();

安装方法

每个服务器可以提供多种安装方法以适应不同的环境:

  • NPX: Node.js包执行
  • Docker: 基于容器的执行
  • Python/UVX: 基于Python的服务器
  • 远程: 直接HTTP连接
  • 自定义: 任何其他安装方法

参数系统

注册表使用${VARIABLE}占位符系统用于配置模板:

  • 如果存在,每个安装方法应声明参数
  • 每个参数包括名称、描述、占位符和必需标志
  • 用户在安装过程中用实际值替换占位符

贡献流程

贡献一个新的MCP服务器很容易!遵循以下步骤:

1. 分叉仓库

  1. 访问MCP注册表仓库:https://github.com/ravitemer/mcp-registry
  2. 点击右上角的“分叉”按钮
  3. 这将创建您的副本,在那里您可以进行更改

2. 克隆您的分叉

git clone https://github.com/YOUR-USERNAME/mcp-registry.git
cd mcp-registry
npm install

3. 创建您的服务器定义

  1. servers/目录下创建一个新的YAML文件
  2. 使用描述性的文件名(例如,my-awesome-server.yaml
  3. 遵循上述的服务器定义格式
  4. 包括所有必需字段和至少一种安装方法

4. 测试您的服务器

提交之前,请验证您的服务器定义:

# 验证您的服务器定义
npm run validate

# 运行所有测试
npm test

在继续之前修复所有验证错误。

5. 提交并推送您的更改

git add servers/my-server.yaml
git commit -m "添加我的优秀服务器到注册表"
git push origin main

6. 创建拉取请求

  1. 转到原始仓库:https://github.com/ravitemer/mcp-registry
  2. 点击“拉取请求”,然后点击“新建拉取请求”
  3. 点击“跨分叉比较”
  4. 选择您的分叉作为头部仓库
  5. 提供清晰的标题和描述
  6. 提交拉取请求

7. 审查过程

提交后:

  1. 自动测试将运行以验证您的服务器定义。
  2. 维护者将审查您的提交。
  3. 他们可能会要求更改或改进。
  4. 批准后,您的服务器将被合并并自动部署。
  5. 您的服务器将在以下位置可用:https://ravitemer.github.io/mcp-registry/registry.json

拉取请求上的自动化验证

对这个仓库的每次拉取请求都会触发全面的验证工作流。 只有通过以下所有检查,您的提交才会被接受:

  • 模式验证: 每个服务器YAML文件必须匹配严格的Zod模式

    • 不允许额外的字段。
    • 必须存在所有必需的字段。
  • 唯一ID和名称: 所有服务器必须具有唯一的idname。 文件之间的重复ID或名称会导致验证失败。

  • 有效的JSON配置: 每个安装的config字段必须是一个有效的JSON字符串。

  • 参数占位符一致性: 安装的config中的每个${VARIABLE}占位符必须在其安装的parameters数组中有对应的参数声明。

如果这些检查中的任何一个失败,您的PR将被标记为失败,并且您将在PR日志中看到详细的错误消息。

最佳实践

  • 清晰的描述: 编写简洁、信息丰富的描述,不超过200个字符。
  • 全面的标签: 使用相关的标签使您的服务器易于发现。
  • 多种安装方法: 当可能时,提供不同环境的选择。
  • 准确的需求: 清晰列出所有系统需求。
  • 参数文档: 包括有用的描述和示例值。
  • 测试: 在提交前彻底测试您的服务器定义。
  • 质量URL: 确保仓库URL准确无误。

准备好贡献了吗?从分叉仓库开始,添加您的MCP服务器!🚀