modelcontextprotocol/registry

GitHub: modelcontextprotocol/registry

一个由社区驱动的 Model Context Protocol 服务器注册中心,为客户端提供可检索的 MCP Server 目录,并为开发者提供发布与验证流程。

Stars: 7055 | Forks: 906

# MCP Registry MCP registry 为 MCP 客户端提供了 MCP server 列表,就像是一个用于 MCP server 的应用商店。 [**📤 发布我的 MCP server**](docs/modelcontextprotocol-io/quickstart.mdx) | [**⚡️ 实时 API 文档**](https://registry.modelcontextprotocol.io/docs) | [**👀 生态系统愿景**](docs/design/ecosystem-vision.md) | 📖 **[完整文档](./docs)** ## 开发状态 **2025-10-24 更新**:Registry API 已进入 **API 冻结阶段 (v0.1)** 🎉。在接下来的一个月或更长时间里,API 将保持稳定,不会有破坏性更改,允许集成者放心地实现支持。此冻结适用于 v0.1,同时 v0 的开发仍在继续。我们将利用这段时间在真实集成中验证 API,并收集反馈以打造正式发布 (GA) 的 v1 版本。感谢大家的贡献和耐心——您的参与是我们取得今天进展的关键! **2025-09-08 更新**:Registry 已推出预览版 🎉 ([公告博客文章](https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/))。虽然系统现在已经更加稳定,但这仍然是预览版,可能会发生破坏性更改或数据重置。通用可用性 (GA) 版本将在稍后推出。我们非常欢迎您在 [GitHub discussions](https://github.com/modelcontextprotocol/registry/discussions/new?category=ideas) 或 [#registry-dev Discord](https://discord.com/channels/1358869848138059966/1369487942862504016) 中提供反馈 ([加入详情请看这里](https://modelcontextprotocol.io/community/communication))。 Registry 工作组: - **Tadas Antanavicius** (PulseMCP) [@tadasant](https://github.com/tadasant) - **Radoslav (Rado) Dimitrov** (Stacklok) [@rdimitrov](https://github.com/rdimitrov) - **Bob Dickinson** (TeamSpark) [@BobDickinson](https://github.com/BobDickinson) - **Preeti (Pree) Dewani** (Ravenmail) [@pree-dew](https://github.com/pree-dew) ### 快速开始: #### 前置条件 - **Docker** - **Go 1.24.x** - **ko** - Go 的容器镜像构建工具 ([安装说明](https://ko.build/install/)) - **golangci-lint v2.4.0** #### 运行 server ``` # 启动完整开发环境 make dev-compose ``` 这将在 [`localhost:8080`](http://localhost:8080) 上启动带有 PostgreSQL 的 registry。数据库使用临时存储,每次重启容器时都会重置,从而确保开发和测试处于干净的状态。 **注意:** Registry 使用 [ko](https://ko.build) 来构建容器镜像。`make dev-compose` 命令会自动使用 ko 构建 registry 镜像,并在启动服务之前将其加载到您本地的 Docker daemon 中。 默认情况下,registry 会从生产 API 中提取经过筛选的 server 子集作为种子数据(以保持启动速度)。这确保了您的本地环境能反映生产行为,并且所有种子数据都能通过验证。对于离线开发,您可以通过 `MCP_REGISTRY_SEED_FROM=data/seed.json MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false make dev-compose` 从文件中提取种子数据且不进行验证。 该设置可以通过 [docker-compose.yml](./docker-compose.yml) 中的环境变量进行配置 - 请参阅 [.env.example](./.env.example) 作为参考。
替代方案:运行预构建的 Docker 镜像 预构建的 Docker 镜像会自动发布到 GitHub Container Registry。请注意,该镜像不捆绑 PostgreSQL,因此您需要自行运行它,并通过 `MCP_REGISTRY_DATABASE_URL` 将 registry 指向它(有关有效示例,请参见 [docker-compose.yml](./docker-compose.yml)): ``` # 运行最新稳定版本 docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest # 运行 main 分支的最新版本(持续部署) docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main # 运行特定发布版本 docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0 # 运行来自 main 分支的开发构建 docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d ``` **可用标签:** - **发布版本**:`latest`, `v1.0.0`, `v1.1.0` 等。 - **持续集成**:`main`(main 分支的最新构建) - **开发版本**:`main--`(特定提交构建)
#### 发布 server 为了发布 server,我们构建了一个简单的 CLI。您可以通过以下方式使用它: ``` # 构建最新 CLI make publisher # 开始使用! ./bin/mcp-publisher --help ``` 有关更多详细信息,请参阅[发布者指南](./docs/modelcontextprotocol-io/quickstart.mdx)。 #### 其他命令 ``` # 运行 lint、单元测试和集成测试 make check ``` 还有其他一些对开发有用的命令。运行 `make help` 以了解更多信息,或者查看 [Makefile](./Makefile)。