SuperAPI AI 工具集

ocireg-mcp

ocireg-mcp 是一个基于 MCP(Model Context Protocol)的服务器,提供查询 OCI 注册表及镜像引用的工具。它采用 SSE 方式运行,让 LLM 驱动的应用能够与 OCI 注册表交互,可获取容器镜像信息、列出仓库标签、获取镜像清单和镜像配置等。

访问官网

工具介绍

用途

ocireg-mcp 是一个 MCP(Model Context Protocol)服务器,用于查询 OCI 注册表和镜像引用。它实现了基于 SSE 的 MCP 服务器,使 LLM 驱动的应用能够与 OCI 注册表交互。

主要能力

该服务器提供以下 MCP 工具:

  • 获取 OCI 镜像信息:参数 image_ref(镜像引用,如 docker.io/library/alpine:latest),返回镜像的 digest、大小、架构、操作系统、创建日期和层数等信息。
  • 列出仓库标签:参数 repository(仓库名称,如 docker.io/library/alpine),返回该仓库的标签列表。
  • get_image_manifest:获取 OCI 镜像的清单。
  • get_image_config:获取 OCI 镜像的配置。

使用方式

推荐使用 ToolHive 运行,ToolHive 提供安全的容器化 MCP 服务器部署方式。服务器启动后可供兼容 MCP 的客户端使用,并查询 OCI 注册表以获取镜像信息。

如需访问私有注册表,可通过 ToolHive 的密钥管理提供认证凭据。

访问私有 OCI 注册表的认证方式(按优先级)

  1. HTTP Authorization 头(最高优先级):在 HTTP 请求的 Authorization 头中包含 bearer token:Authorization: Bearer <your-token>。此方法优先于所有其他认证方式;存在时环境变量和 Docker 配置将被忽略。
  2. Bearer Token 环境变量:设置 OCI_TOKEN:注册表认证的 bearer token。
  3. 用户名和密码:设置 OCI_USERNAME(注册表认证用户名)和 OCI_PASSWORD(注册表认证密码)。
  4. Docker 配置(最低优先级):如果未提供其他认证,服务器将使用默认 Docker keychain,从 ~/.docker/config.json 读取凭据。

端口配置

可通过以下方式配置服务器监听端口:

  • 环境变量 MCP_PORT:要监听的端口号(必须在 0 到 65535 之间)。如果未设置或无效,默认为端口 8080。
  • 命令行标志 -port:覆盖环境变量设置(必须在 0 到 65535 之间)。如果提供无效端口则默认为端口 8080。示例:./ocireg-mcp -port 9090。

适用场景

适用于需要让 LLM 驱动应用与 OCI 注册表交互的场景,例如获取容器镜像信息、查询仓库标签、检查镜像清单和配置等。

限制与要求

  • 需要 Go 1.21 或更高版本。
  • 需要能够访问 OCI 注册表。

其他信息

欢迎贡献代码,贡献前请查看 CONTRIBUTING 指南。如遇 bug 或功能请求,可在仓库中提交 issue 或加入社区 Discord 服务器的 #mcp-servers 频道。项目采用 Apache v2 许可证,详见 LICENSE 文件。