mcpField
O
ORAS MCP Server

ORAS MCP Server

本地服务
oras.land云与基础设施056 周前更新

关于 ORAS MCP Server

ORAS MCP Server 将 VS Code Agent 模式连接到 OCI 注册表,支持围绕注册表内容进行对话。它基于 `oras-go` 实现,可通过 Docker 或发布的二进制文件运行。

主要功能

  1. 01在 VS Code 中进行注册表对话
  2. 02支持 Docker 和二进制文件部署
  3. 03使用 ORAS 和 Docker 凭据
  4. 04基于 `oras-go` 实现

适用场景

  1. 01查询容器镜像支持的平台
  2. 02检查制品元数据和签名

MCP 相关

该服务通过 stdio 运行,向 VS Code Agent 模式等 MCP 客户端提供注册表访问能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"oras-mcp-shizhmsft": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/oras-project/oras-mcp:main"
]
}
}
}
启动命令docker run -i --rm ghcr.io/oras-project/oras-mcp:main

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/oras-project/oras-mcp:main

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ORAS MCP 服务

Build Status codecov

横幅

使用方法

配置 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 上,请改为安装已发布的二进制文件。

从已发布的二进制文件设置
  1. 访问 GitHub 发布页面,下载与你的操作系统和 CPU 架构匹配的存档(Linux 或 macOS 使用 oras-mcp_<version>_<os>_<arch>.tar.gz,Windows 使用 oras-mcp_<version>_windows_<arch>.zip)。

  2. 解压存档;文件夹中包含一个名为 oras-mcp 的可执行文件(Windows 上为 oras-mcp.exe)和一份项目许可证副本。

  3. 将二进制文件移至 PATH 中的目录(例如,Linux/macOS 上的 /usr/local/bin 或 Windows 上的 %LOCALAPPDATA%\Programs\oras-mcp),也可以直接引用其解压位置。

  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 支持什么平台?

答:镜像 ghcr.io/oras-project/oras 支持以下平台:

  1. Linux (amd64)
  2. Linux (arm64)
  3. Linux (arm,variant v7)
  4. Linux (s390x)
  5. Linux (ppc64le)

如果你需要更多详情,请告诉我!

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

答:Microsoft Container Registry (MCR) 中最新的 Azure Linux 3.0 镜像标记为 3.0.20250402。它有签名,签名类型为 application/vnd.cncf.notary.signature。

发布流程

维护者可在发布清单中查看完整的发布步骤。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。