使用说明
MCP注册API
这是基于官方OpenAPI规范的模型上下文协议(MCP)服务器注册API的实现。 有关更多信息,请参见 GitHub MCP注册表文档.
特性
- 列出MCP服务器 -通过分页、筛选和搜索浏览所有已注册的MCP服务器
- 列出服务器版本 -查看特定MCP服务器的所有可用版本
- 获取服务器详细信息 -检索特定服务器版本的详细信息
- 删除服务器版本 -用于删除特定服务器版本的可选端点
- 样品数据 -包括用于测试的示例服务器(文件系统和Brave Search)
API终点
所有端点都以前缀 /v0.1 (不是 /v0 如原始规范所示):
GET/v0.1/服务器
列出所有具有可选过滤和分页功能的MCP服务器。
查询参数:
cursor-下一页结果的分页光标limit-要返回的最大项目数(默认值:30)search-按名称搜索服务器(子字符串匹配)updated_since-自时间戳(RFC3339日期时间)以来更新的筛选服务器version-按版本筛选(“最新”表示最新版本,或确切版本)
例子:
GET /v0.1/servers?search=filesystem&limit=10
GET/v0.1/servers/{serverName}/版本
按发布日期(最新版本优先)列出特定MCP服务器的所有版本。
路径参数:
serverName-URL编码的服务器名称(例如。,io.modelcontextprotocol%2Ffilesystem)
例子:
GET /v0.1/servers/io.modelcontextprotocol%2Ffilesystem/versions
GET/v0.1/servers/{serverName}/versions/{version}
获取特定版本MCP服务器的详细信息。
路径参数:
serverName-URL编码的服务器名称version-版本号或latest对于最新版本
例子:
GET /v0.1/servers/io.modelcontextprotocol%2Ffilesystem/versions/1.0.2
GET /v0.1/servers/io.modelcontextprotocol%2Ffilesystem/versions/latest
DELETE/v0.1/服务器/{serverName}/版本/{version}
删除特定版本的MCP服务器(可选端点)。
路径参数:
serverName-URL编码的服务器名称version-要删除的版本号
例子:
DELETE /v0.1/servers/io.modelcontextprotocol%2Ffilesystem/versions/1.0.1
运行应用程序
先决条件
- .NET 10.0 SDK
构建
dotnet build
跑
dotnet run
API将在以下网址提供:
- HTTPS:
https://localhost:7000 - Swagger用户界面:
https://localhost:7000/swagger(处于开发模式)
测试
使用随附的 MCPRegistry.http 文件直接从VS代码(需要REST客户端扩展)或在Visual Studio中本机测试API端点。
样品数据
API附带了以下用于测试的示例服务器(请参阅 data/sample-seed-data.json):
-
Azure MCP服务器 (
com.microsoft/azure)- 标题:Azure MCP服务器
- 描述:所有Azure MCP工具,用于在AI代理和Azure服务之间创建无缝连接。
- 版本:2.0.0-beta.6
- 网站:https://azure.microsoft.com/
- 包:npm(@azure/mcp),nuget(azure.mcp)
-
Azure DevOps MCP服务器 (
com.microsoft/azure-devops-mcp)- 标题:Azure DevOps MCP服务器
- 描述:Azure DevOps工作项、存储库、管道、测试计划、维基、搜索等。
- 版本:2.2.2
- 网站:https://github.com/microsoft/azure-devops-mcp
- 包:npm(@azure devops/mcp)
-
微软学习 MCP (
com.microsoft/microsoft-learn-mcp)- 标题:微软学习MCP
- 描述:官方Microsoft Learn MCP服务器-AI和LLM的实时、可信的文档和代码示例。
- 版本:1.0.0
- 网站:https://github.com/MicrosoftDocs/mcp
- 遥控器:https://learn.microsoft.com/api/mcp
-
Atlassian MCP服务器 (
com.atlassian/atlassian-mcp-server)- 说明:连接到Jira和Confluence进行问题跟踪和记录。
- 版本:1.0.0
- 遥控器:https://mcp.atlassian.com/v1/sse
-
GitHub MCP服务器 (
io.github.github/github-mcp-server)- 说明:官方GitHub Remote MCP Server为GitHub集成提供默认工具集。
- 版本:1.0.0
- 网站:https://github.com/github/github-mcp-server
- 遥控器:https://api.githubcopilot.com/mcp/
添加新服务器示例
要添加新服务器,您可以使用中的格式 data/new-version-data.json例如,要添加新的Azure MCP服务器版本:
[
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "com.microsoft/azure",
"description": "All Azure MCP tools to create a seamless connection between AI agents and Azure services.",
"title": "Azure MCP Server",
"repository": {
"url": "https://github.com/microsoft/mcp",
"source": "github",
"subfolder": "servers/Azure.Mcp.Server"
},
"version": "2.0.0-beta.7",
"websiteUrl": "https://azure.microsoft.com/",
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "@azure/mcp",
"version": "2.0.0-beta.7",
"transport": {
"$transport-type": "stdio",
"type": "stdio"
},
"packageArguments": [
{ "value": "server", "type": "positional" },
{ "value": "start", "type": "positional" }
]
},
{
"registryType": "nuget",
"identifier": "Azure.Mcp",
"version": "2.0.0-beta.7",
"transport": {
"$transport-type": "stdio",
"type": "stdio"
},
"packageArguments": [
{ "value": "server", "type": "positional" },
{ "value": "start", "type": "positional" }
]
}
]
}
]
您可以将此JSON POST到适当的端点(在实现时),也可以将其用作向注册表的数据存储添加新服务器的模板。
建筑
- 型号/ -与OpenAPI模式匹配的数据传输对象(DTO)
- 服务项目/ -服务器注册表管理的业务逻辑
- 控制器/ -API端点实现
- 数据/ -数据访问层,包括存储库接口和实现
- SQL项目/ -包含用于架构和迁移的SQL Server数据库项目
开发者指南
有关详细的设置说明、本地开发工作流、Azure部署步骤和故障排除,请参阅 开发者指南.
数据存储实施
当前的实现使用基于SQL Server的数据存储来实现服务器注册表持久性。数据访问是通过 IServerRepository 接口(MCPRegistry.Data.IServerRepository),定义了管理服务器及其版本所需的所有操作。默认实现, SqlServerServerRepository,提供了与SQL Server的具体集成。
该解决方案包括 SQLProject 包含SQL Server数据库项目的目录,该项目管理注册表数据的模式和迁移。
可扩展性
要支持其他数据存储(例如PostgreSQL、MongoDB、内存中等),请实现 IServerRepository 与您自己的数据访问逻辑接口。在依赖注入容器中注册您的实现,以替换或扩展默认的基于SQL Server的存储库。此设计允许在不更改业务逻辑或API控制器的情况下轻松交换或扩展数据存储后端。
关键扩展点:
- 实施
IServerRepository接口,以添加对新数据存储的支持。
服务器元数据和状态
服务器元数据通常为 不可变的 一旦出版,除了 status 现场。状态可能会更新以反映生命周期的变化,例如 "deprecated" 或 "deleted".
根据 MCP注册表聚合器文档,聚合器应保持每个服务器状态的副本最新。
状态值
active:服务器版本可用且功能正常。deprecated:不再建议使用服务器版本。deleted:服务器违反了MCP。IO注册表许可审核策略(例如垃圾邮件、恶意软件或非法内容)。您可能更愿意从索引注册表中完全删除这些服务器。
备注
- 帖子
/v0.1/publish端点是 未实现 - 所有端点使用
/v0.1前缀而不是/v0 - DELETE端点是可选的,成功时返回200(注册表在软模式下支持删除)
- URL中的服务器名称必须进行URL编码(正斜杠变为
%2F) - 如果要使用VSCode进行本地测试,请设置
chat.mcp.gallery.serviceUrl在VSCode设置中设置以指向您的本地实例(例如。,https://localhost:7160/v0.1/servers)