先决条件
在创建模型上下文协议 (MCP) 注册表之前,应了解 MCP 管理为你的公司的功能和优势。 请参阅“公司中的 MCP 服务器使用情况”。
选项 1:自承载 MCP 注册表
MCP 注册表的核心是一组 HTTPS 终结点,用于提供有关包含的 MCP 服务器的详细信息。 可以使用以下任一选项创建注册表:
- 分叉和自行托管开源MCP注册表。 若要开始,请参阅 MCP 注册表快速入门 在
modelcontextprotocol/registry存储库中。 - 使用 Docker 在本地运行开源注册表。
- 发布自己的自定义实现。
注意
如果您希望开发人员访问本地 MCP 服务器,请在注册表中包含这些服务器,并确保使用正确的服务器 ID。 有关详细信息,请参阅“MCP 允许列表强制实施”。
若要创建可访问 GitHub Copilot的有效 MCP 注册表,注册表必须满足以下要求:
终结点和规范要求
有效的注册表必须支持 URL 路由,并遵循 v0.1 MCP 注册表规范,包括以下终结点:
GET /v0.1/servers:返回包含的所有 MCP 服务器的列表GET /v0.1/servers/{serverName}/versions/latest:返回特定服务器的最新版本GET /v0.1/servers/{serverName}/versions/{version}:返回特定版本的服务器的详细信息
有关请求的更多详细信息和示例 JSON 响应,请参阅 官方 MCP 注册表文档。
对 v0.1 规范的支持
虽然 MCP 注册表使用 v0 规范启动,但该版本现在被视为不稳定,不应实现。 而是根据 v0.1 规范创建注册表,该规范在以下图面中受支持:
| Surface | v0.1 支持 |
|---|---|
| VS Code 业内人士 | |
| VS Code | |
| Visual Studio | |
| Eclipse | |
| JetBrains IDE | |
| Xcode | |
| Copilot 命令行界面(CLI) |
跨域资源共享要求
Copilot为了确保可以在提取注册表时成功发出跨域请求,注册表或反向代理必须包含跨域资源共享(CORS)标头。 将以下标头添加到所有 /v0.1/servers 终结点:
Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, OPTIONS Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, OPTIONS
Access-Control-Allow-Headers: Authorization, Content-Type
选项 2:将 Azure API 中心用作 MCP 注册表
Azure API 中心提供了一个完全托管的 MCP 注册表,其中包含自动 CORS 配置、内置治理功能,并且没有其他 Web 服务器设置。
- 若要完成注册表的初始设置,请参阅 Azure 文档中的 Register 并发现 API 清单中的远程 MCP 服务器。
- 如果您希望开发人员访问本地 MCP 服务器,请在注册表中包含这些服务器,并确保使用正确的服务器 ID。 有关详细信息,请参阅“MCP 允许列表强制实施”。
- GitHub Copilot为了确保可以提取注册表,请在 API 中心的可见性设置中允许匿名访问。
- 复制 API 中心终结点 URL。 在下一篇文章中,你将使用此 URL 使注册表在整个公司中可用。
定价和限制
Azure API 中心提供免费层,用于基本 API 目录和发现,包括 MCP 注册表管理。 如果需要高于免费层附带的限制,可以升级到标准计划。 有关详细限制和定价,请参阅 Azure 文档中的 Azure API 中心限制。
后续步骤
创建 MCP 注册表后,可以为公司设置 MCP 策略。 请参阅“为您的组织或企业配置 MCP 服务器访问权限”。