容器注册表聊天服务

ORAS MCP Server是一个用于容器注册表交互的聊天服务,支持在VS Code代理模式下运行,提供容器镜像平台查询和签名验证功能。

  • by shizhMSFT
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 shizhMSFT/oras-mcp

使用说明

ORAS MCP 服务器

用法

配置ORAS MCP服务器以在内部运行 VS Code 代理模式 用于注册感知聊天。

服务器是用(某种技术或语言)实现的 oras-go 库,并且不依赖于 oras CLI(Command Line Interface)翻译为中文是“命令行界面”。

使用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 上,请安装 发布的二进制文件 相反。

从发布的二进制文件进行设置

  1. 参观 GitHub 发布页面 并下载与您的操作系统和CPU架构相匹配的存档文件(oras-mcp_<version>_<os>_<arch>.tar.gz 适用于 Linux 或 macOS, oras-mcp_<version>_windows_<arch>.zip (适用于Windows)。

  2. 解压存档;文件夹中包含一个名为(此处应接具体文件名,但原文未给出)的单一可执行文件 oras-mcp 或者 oras-mcp.exe (在Windows上)以及项目许可证的副本。

  3. 将二进制文件移动到您系统上的一个目录中 PATH (例如, /usr/local/bin 在 Linux/macOS 上或 %LOCALAPPDATA%\Programs\oras-mcp (在Windows上)或者直接从其解压后的位置引用它。

  4. 跑 oras-mcp serve --help (或 oras-mcp.exe serve --help) 以确认二进制文件在您的系统上可以正常运行。

  5. 要与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 支持哪些平台?

A: 这张图片 ghcr.io/oras-project/oras 支持以下平台:

  1. Linux(amd64)
  2. Linux(arm64架构)
  3. Linux(ARM架构,版本v7)
  4. Linux(s390x架构)
  5. Linux(ppc64le架构)

如果你需要更多细节,请告诉我!

问:MCR(Microsoft Container Registry)中最新的Azure Linux 3.0镜像是什么?它有签名吗?它的类型是什么?

A: 在微软容器注册表(MCR)中,最新的Azure Linux 3.0镜像被标记为 3.0.20250402它有一个签名,且签名的类型是 application/vnd.cncf.notary.signature。

发布流程

维护人员可以在(相关文档/页面中)找到完整的发布步骤 发布检查清单。