Skip to main content
MCP 注册表目前处于预览阶段。在正式可用之前,可能会发生破坏性变更或数据重置。如果遇到问题,请在 GitHub 上报告。
MCP 注册表是面向公开可访问 MCP servers 的官方集中式元数据仓库,由 Anthropic、GitHub、PulseMCP、Microsoft 等 MCP 生态中的主要可信贡献者支持。 MCP 注册表提供:
  • 一个让 server 创建者发布 server 元数据的统一位置。
  • 通过 DNS 验证进行命名空间管理。
  • 供 MCP clients 和聚合器发现可用 servers 的 REST API。
  • 标准化的安装和配置信息。
Server 元数据以标准化的 server.json 格式存储,其中包含:
  • Server 的唯一名称,例如 io.github.user/server-name
  • Server 的定位方式,例如 npm 包名、远程 server URL。
  • 执行说明,例如命令行参数、环境变量。
  • 其他发现数据,例如描述、server capabilities。

MCP 注册表生态

MCP 注册表所在生态大致如下: The MCP Registry ecosystem

与包注册表的关系

npm、PyPI、Docker Hub 等包注册表托管包含代码和二进制文件的包。 MCP 注册表托管指向这些包的元数据。 例如,一个 weather-mcp 包可以托管在 npm 上,而 MCP 注册表中的元数据可以将 "weather v1.2.0" server 映射到 npm:weather-mcp 包类型指南列出了支持的包类型和注册表。未来可能会根据社区需求支持更多包注册表。如果你有兴趣构建对某个包注册表的支持,请提交 issue

与 Server 开发者的关系

MCP 注册表同时支持开源和闭源 servers。只要 server 的安装方式公开可用(例如公共注册表上的 npm 包或 Docker 镜像), server 本身公开可访问(例如不限制在私有网络内的远程 server),server 开发者就可以将其 server 元数据发布到注册表。 MCP 注册表不支持私有 servers。私有 servers 指只对少数用户可访问的 servers。例如发布在私有网络中的 servers(如 mcp.acme-corp.internal),或发布在私有包注册表中的 servers(如 npx -y @acme/mcp --registry https://artifactory.acme-corp.internal/npm)。如果你想发布私有 servers,建议托管自己的私有 MCP registry,并将它们添加到那里。

与下游聚合器的关系

MCP 注册表主要面向下游聚合器使用,例如 MCP server marketplaces。 MCP 注册表托管的元数据刻意保持中立。下游聚合器可以提供精选整理,或添加社区评分等额外元数据。 我们预期下游聚合器会通过 MCP Registry API 定期但低频地拉取新元数据(例如每小时一次)。更多信息见 MCP 注册表聚合器指南

与其他 MCP 注册表的关系

除了公共 REST API,MCP 注册表还定义了一个 OpenAPI spec,其他 MCP registries 可以实现该规范,以便为 MCP host applications 提供标准化接口。 我们预期许多下游聚合器会实现此接口。私有 MCP registries 也可以实现它,以复用现有 host application 支持。 请注意,官方 MCP Registry 代码库并非为自托管而设计,注册表维护者无法为该使用场景提供支持。如果你选择 fork 它,需要自行维护和运营。

与 MCP Host Applications 的关系

MCP 注册表并不打算被 host applications 直接消费。Host applications 应通过符合官方 MCP Registry OpenAPI spec 的 REST API,消费其他 MCP registries,例如下游 marketplaces。

信任与安全

验证 Server 真实性

MCP 注册表使用命名空间认证来确保 servers 来自其声明的来源。Server 名称遵循反向 DNS 格式(例如 io.github.username/servercom.example/server),并与已验证的 GitHub 账户或域名绑定。 该命名空间系统确保只有 GitHub 账户或域名的合法所有者才能在对应命名空间下发布 servers,从而为生态提供信任和责任归属。认证方式详情见认证指南

安全扫描

MCP 注册表将安全扫描委托给:
  • 底层包注册表:npm、PyPI、Docker Hub 和其他包注册表会执行自己的安全扫描和漏洞检测。
  • 下游聚合器:MCP Registry 聚合器和 marketplaces 可以实现额外的安全检查、评分或精选整理。
MCP 注册表专注于命名空间认证和元数据托管,同时依赖更广泛的生态来对实际 server 代码进行安全扫描。

防止垃圾内容

MCP 注册表使用多种机制防止垃圾内容:
  • 命名空间认证要求:发布者必须通过 GitHub、DNS 或 HTTP challenge 验证命名空间所有权,从而防止任意垃圾提交。
  • 字符限制和校验:自由文本字段有严格字符限制和正则校验,以防滥用。
  • 手动下架:注册表维护者可以手动移除垃圾或恶意 servers。哪些内容会被移除,见审核政策
未来考虑中的垃圾内容防护措施包括更严格的速率限制、基于 AI 的垃圾内容检测,以及社区举报能力。