> ## Documentation Index
> Fetch the complete documentation index at: https://mcp.developerdoc.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP 注册表

<Note>
  MCP 注册表目前处于预览阶段。在正式可用之前，可能会发生破坏性变更或数据重置。如果遇到问题，请在 [GitHub](https://github.com/modelcontextprotocol/registry/issues) 上报告。
</Note>

MCP 注册表是面向公开可访问 MCP servers 的官方集中式元数据仓库，由 Anthropic、GitHub、PulseMCP、Microsoft 等 MCP 生态中的主要可信贡献者支持。

MCP 注册表提供：

* 一个让 server 创建者发布 server 元数据的统一位置。
* 通过 DNS 验证进行命名空间管理。
* 供 MCP clients 和聚合器发现可用 servers 的 REST API。
* 标准化的安装和配置信息。

Server 元数据以标准化的 [`server.json` 格式](https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/server-json/draft/server.schema.json)存储，其中包含：

* Server 的唯一名称，例如 `io.github.user/server-name`。
* Server 的定位方式，例如 npm 包名、远程 server URL。
* 执行说明，例如命令行参数、环境变量。
* 其他发现数据，例如描述、server capabilities。

## MCP 注册表生态

MCP 注册表所在生态大致如下：

<img src="https://mintcdn.com/mcp-af858c62/jSqzMzM_desZfWyn/registry/ecosystem-diagram.excalidraw.svg?fit=max&auto=format&n=jSqzMzM_desZfWyn&q=85&s=43be77ea681e1edaeb748bd6b8a0ca51" alt="The MCP Registry ecosystem" width="2787" height="1811" data-path="registry/ecosystem-diagram.excalidraw.svg" />

### 与包注册表的关系

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

MCP 注册表托管指向这些包的元数据。

例如，一个 `weather-mcp` 包可以托管在 npm 上，而 MCP 注册表中的元数据可以将 `"weather v1.2.0"` server 映射到 `npm:weather-mcp`。

[包类型指南](./package-types)列出了支持的包类型和注册表。未来可能会根据社区需求支持更多包注册表。如果你有兴趣构建对某个包注册表的支持，请[提交 issue](https://github.com/modelcontextprotocol/registry)。

### 与 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 注册表聚合器指南](./registry-aggregators)。

### 与其他 MCP 注册表的关系

除了公共 REST API，MCP 注册表还定义了一个 [OpenAPI spec](https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/api/openapi.yaml)，其他 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/server` 或 `com.example/server`），并与已验证的 GitHub 账户或域名绑定。

该命名空间系统确保只有 GitHub 账户或域名的合法所有者才能在对应命名空间下发布 servers，从而为生态提供信任和责任归属。认证方式详情见[认证指南](./authentication)。

### 安全扫描

MCP 注册表将安全扫描委托给：

* **底层包注册表**：npm、PyPI、Docker Hub 和其他包注册表会执行自己的安全扫描和漏洞检测。
* **下游聚合器**：MCP Registry 聚合器和 marketplaces 可以实现额外的安全检查、评分或精选整理。

MCP 注册表专注于命名空间认证和元数据托管，同时依赖更广泛的生态来对实际 server 代码进行安全扫描。

### 防止垃圾内容

MCP 注册表使用多种机制防止垃圾内容：

* **命名空间认证要求**：发布者必须通过 GitHub、DNS 或 HTTP challenge 验证命名空间所有权，从而防止任意垃圾提交。
* **字符限制和校验**：自由文本字段有严格字符限制和正则校验，以防滥用。
* **手动下架**：注册表维护者可以手动移除垃圾或恶意 servers。哪些内容会被移除，见[审核政策](./moderation-policy)。

未来考虑中的垃圾内容防护措施包括更严格的速率限制、基于 AI 的垃圾内容检测，以及社区举报能力。
