MCP Registry

MCP Registry

社区译文;来源: MCP 80041ab0

MCP Registry 目前处于预览阶段。在正式发布之前,可能发生破坏性变更或数据重置。如果遇到任何问题,请在 GitHub 上报告。

MCP Registry 是可公开访问的 MCP 服务器的官方集中式元数据仓库,由 Anthropic、GitHub、PulseMCP 和 Microsoft 等 MCP 生态系统中的主要可信贡献者共同支持。

MCP Registry 提供:

  • 供服务器创建者发布服务器元数据的统一入口
  • 通过 DNS 验证进行命名空间管理
  • 供 MCP 客户端和聚合器发现可用服务器的 REST API
  • 标准化的安装和配置信息

服务器元数据以标准化的 server.json 格式存储,其中包含:

  • 服务器的唯一名称(例如 io.github.user/server-name)
  • 服务器的位置(例如 npm 包名称、远程服务器 URL)
  • 执行说明(例如命令行参数、环境变量)
  • 其他发现数据(例如描述、服务器能力)

MCP Registry 生态系统

MCP Registry 所属的生态系统大致如下:

MCP Registry 生态系统

与包注册表的关系

npm、PyPI 和 Docker Hub 等包注册表托管包含代码和二进制文件的包。

MCP Registry 托管指向这些包的元数据。

例如,weather-mcp 包可以托管在 npm 上,而 MCP Registry 中的元数据可以将“weather v1.2.0”服务器映射到 npm:weather-mcp。

包类型指南列出了支持的包类型和注册表。未来可能根据社区需求支持更多包注册表。如果你有兴趣为某个包注册表构建支持,请提交 issue。

与服务器开发者的关系

MCP Registry 同时支持开源和闭源服务器。只要服务器的安装方式可公开获取(例如公共注册表上的 npm 包或 Docker 镜像),_或者_服务器本身可公开访问(例如不受私有网络限制的远程服务器),服务器开发者就可以向注册表发布服务器元数据。

MCP Registry 不支持私有服务器。私有服务器是指仅供少量用户访问的服务器,例如发布在私有网络上的服务器(如 mcp.acme-corp.internal),或发布在私有包注册表上的服务器(如 npx -y @acme/mcp --registry https://artifactory.acme-corp.internal/npm)。如需发布私有服务器,建议自行托管私有 MCP 注册表并将服务器添加到其中。

与下游聚合器的关系

MCP Registry 主要供 MCP 服务器市场等下游聚合器使用。

MCP Registry 托管的元数据刻意保持中立,不加入倾向性判断。下游聚合器可以进行内容策展,也可以添加社区评分等额外元数据。

我们预计下游聚合器会定期但不频繁地通过 MCP Registry API 拉取新元数据(例如每小时一次)。详情参见 MCP Registry 聚合器指南。

与其他 MCP 注册表的关系

除了公共 REST API,MCP Registry 还定义了一份 OpenAPI 规范。其他 MCP 注册表可以实现该规范,为 MCP 主机应用程序提供标准化接口。

我们预计许多下游聚合器会实现此接口。私有 MCP 注册表同样可以实现该接口,从而复用现有主机应用程序的支持。

请注意,官方 MCP Registry 代码库并非为自托管设计,注册表维护者无法为这种用法提供支持。如果选择分叉该代码库,你需要自行维护和运营。

与 MCP 主机应用程序的关系

MCP Registry 不应由主机应用程序直接使用。主机应用程序应改为通过符合官方 MCP Registry OpenAPI 规范的 REST API,使用下游市场等其他 MCP 注册表。

信任与安全

验证服务器真实性

MCP Registry 使用命名空间身份验证,确保服务器确实来自其声明的来源。服务器名称采用反向 DNS 格式(如 io.github.username/server 或 com.example/server),将其与已验证的 GitHub 账户或域名关联。

该命名空间系统确保只有 GitHub 账户或域名的合法所有者才能在相应命名空间下发布服务器,从而为生态系统提供信任基础和责任追溯能力。有关身份验证方法的详情,参见身份验证指南。

安全扫描

MCP Registry 将安全扫描交由以下系统负责:

  • 底层包注册表:npm、PyPI、Docker Hub 及其他包注册表执行各自的安全扫描和漏洞检测。
  • 下游聚合器:MCP Registry 聚合器和市场可以实施额外的安全检查、评分或内容策展。

MCP Registry 专注于命名空间身份验证和元数据托管,实际服务器代码的安全扫描则依赖更广泛的生态系统。

防止垃圾内容

MCP Registry 使用多种机制防止垃圾内容:

  • 命名空间身份验证要求:发布者必须通过 GitHub、DNS 或 HTTP 质询验证命名空间所有权,以阻止任意提交垃圾内容。
  • 字符限制与校验:自由文本字段受到严格的字符数限制和正则表达式校验,以防止滥用。
  • 人工下架:注册表维护者可以手动移除垃圾或恶意服务器。有关会被移除的内容,参见审核政策。

未来考虑采用的防垃圾措施包括更严格的速率限制、基于 AI 的垃圾检测和社区举报能力。