关于 ORAS MCP Server
ORAS MCP Server 将 VS Code Agent 模式连接到 OCI 注册表,支持围绕注册表内容进行对话。它基于 `oras-go` 实现,可通过 Docker 或发布的二进制文件运行。
主要功能
- 01在 VS Code 中进行注册表对话
- 02支持 Docker 和二进制文件部署
- 03使用 ORAS 和 Docker 凭据
- 04基于 `oras-go` 实现
适用场景
- 01查询容器镜像支持的平台
- 02检查制品元数据和签名
MCP 相关
该服务通过 stdio 运行,向 VS Code Agent 模式等 MCP 客户端提供注册表访问能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/oras-project/oras-mcp:main本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/oras-project/oras-mcp:mainstdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ORAS MCP 服务
使用方法
配置 ORAS MCP 服务,使其在 VS Code 代理模式中运行,以便在聊天中感知注册表。
该服务使用 oras-go 库实现,不依赖 oras 命令行工具。
使用 Docker 设置
使用 Docker 运行 ORAS MCP 服务更简单。
为 VS Code 设置
将以下代码添加到 .vscode/mcp.json:
{
"servers": {
"oras-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/oras-project/oras-mcp:main",
"serve"
]
}
}
}
挂载 Docker 凭据(仅限 Linux)
Linux 用户可以通过挂载配置文件来共享 docker login 凭据:
{
"servers": {
"oras-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${env:HOME}/.docker/config.json:/root/.docker/config.json:ro",
"ghcr.io/oras-project/oras-mcp:main",
"serve"
]
}
}
}
如果凭据保存在 ${env:DOCKER_CONFIG} 下,请相应调整路径。容器仅支持内联 auths 条目;基于辅助程序的配置(credsStore、credHelpers)无法使用。在 macOS/Windows 上,请改为安装已发布的二进制文件。
从已发布的二进制文件设置
-
访问 GitHub 发布页面,下载与你的操作系统和 CPU 架构匹配的存档(Linux 或 macOS 使用
oras-mcp_<version>_<os>_<arch>.tar.gz,Windows 使用oras-mcp_<version>_windows_<arch>.zip)。 -
解压存档;文件夹中包含一个名为
oras-mcp的可执行文件(Windows 上为oras-mcp.exe)和一份项目许可证副本。 -
将二进制文件移至
PATH中的目录(例如,Linux/macOS 上的/usr/local/bin或 Windows 上的%LOCALAPPDATA%\Programs\oras-mcp),也可以直接引用其解压位置。 -
运行
oras-mcp serve --help(或oras-mcp.exe serve --help),确认该二进制文件可以在你的系统上运行。 -
要与 VS Code 代理模式集成,请更新
.vscode/mcp.json,使其指向解压后的二进制文件:{ "servers": { "oras-mcp-server": { "type": "stdio", "command": "/absolute/path/to/oras-mcp", "args": [ "serve" ] } } }在 Windows 上,设置
"command": "C:/path/to/oras-mcp.exe"。
身份验证
oras-mcp 从 ORAS 和 Docker CLI 使用的相同存储中读取凭据,但你需要将这些存储提供给服务进程:
- 已发布的二进制文件——在主机上运行
oras login <registry>或docker login <registry>;二进制文件会自动读取缓存的凭据。 - Docker 容器——在 Linux 上,你可以按凭据部分所示挂载 Docker 配置;请确保文件包含内联
auths条目。Docker Desktop(macOS/Windows)依赖钥匙串辅助程序,因此请在这些平台上使用已发布的二进制文件。
示例聊天
问:镜像 ghcr.io/oras-project/oras 支持什么平台?
答:镜像 ghcr.io/oras-project/oras 支持以下平台:
- Linux (amd64)
- Linux (arm64)
- Linux (arm,variant v7)
- Linux (s390x)
- Linux (ppc64le)
如果你需要更多详情,请告诉我!
问:MCR 中最新的 Azure Linux 3.0 镜像是什么?它有签名吗?签名的类型是什么?
答:Microsoft Container Registry (MCR) 中最新的 Azure Linux 3.0 镜像标记为 3.0.20250402。它有签名,签名类型为 application/vnd.cncf.notary.signature。
发布流程
维护者可在发布清单中查看完整的发布步骤。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。