Token导航 LogoToken导航TokenDH.com
MCP Oci Registry logo
开发工具stdio官方级别未说明来源级核验

MCP Oci Registry

MCP Server

一个基于Model Context Protocol (MCP)的服务器,用于查询OCI容器注册表,提供工具和提示以与Docker Hub、GHCR等OCI兼容的注册表进行交互。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
PythonClaude开发工具Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

cloudowski

提供方

cloudowski

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

MCP OCI注册服务器

用于查询OCI容器注册表的模型上下文协议(MCP)服务器。与 fastmcp 该服务器提供与Docker Hub、GHCR和其他OCI兼容注册表等容器注册表交互的工具和提示。

特性

工具:

  • ping -健康检查工具
  • list_oci_tags -列出OCI存储库的所有标签
  • get_oci_details -获取清单详细信息,包括架构、摘要和注释

提示:

  • list_tags_prompt -列出存储库标签的说明
  • list_architectures_prompt -列出支持架构的说明
  • list_digests_prompt -检索图像摘要的说明
  • list_annotations_prompt -OCI注释列表说明

附加功能:

  • 自定义 NonValidatingRegistry 绕过清单列表/索引的jsonschema验证的类
  • 支持多架构图像
  • 可选身份验证(用户名/密码)
  • HTTP健康检查端点(/healthz)
  • Docker支持与Docker compose开发

需求

  • Python 3.11+
  • Docker(可选,用于容器化部署)

安装

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt

用法

在stdio模式下运行(默认)

默认情况下,服务器在stdio上运行,这是大多数MCP客户端所期望的:

python server.py

该进程将等待stdin/stdout上的JSON-RPC请求。通常,您不会手动运行它;它由MCP兼容客户端启动。

使用uvicorn运行(HTTP)

对于HTTP访问,请使用Makefile:

make run

或手动:

uvicorn server:asgi_app --host 127.0.0.1 --port 8888

使用Docker Compose运行

对于热重载开发:

make compose-up

或手动:

docker compose up --build

工具使用示例

列表标签:

# Using FastMCP Client
from fastmcp import Client, FastMCP
import server

client = Client(server.mcp)
async with client:
    tags = await client.call_tool("list_oci_tags", {
        "registry": "registry-1.docker.io",
        "repository": "library/alpine"
    })
    print(tags.data)  # ['latest', '3.22.2', 'edge', ...]

获取OCI详细信息:

details = await client.call_tool("get_oci_details", {
    "registry": "registry-1.docker.io",
    "repository": "library/alpine",
    "reference": "3.22.2"
})
print(details.data)
# {
#   "digest": "sha256:...",
#   "architectures": ["amd64", "arm64", ...],
#   "annotations": {...}
# }

MCP客户端配置(克劳德桌面)

在Claude Desktop MCP配置中添加条目(~/.cursor/mcp.json 或类似):

{
  "mcpServers": {
    "mcp-oci-registry": {
      "command": "/path/to/.venv/bin/python",
      "args": [
        "/path/to/mcp-oci-registry/server.py"
      ],
      "env": {}
    }
  }
}

根据环境需要调整路径。

项目布局

mcp-oci-registry/
├── server.py          # MCP server entrypoint
├── tools.py           # Tool functions (ping, list_oci_tags, get_oci_details)
├── prompts.py         # Prompt templates
├── registry.py        # NonValidatingRegistry class
├── __init__.py        # Package initialization
├── requirements.txt   # Python dependencies
├── Dockerfile         # Container image definition
├── docker-compose.yml # Development environment
├── Makefile          # Common operations
└── tests/            # Test suite
    ├── test_tools.py
    └── test_integration_http.py

发展

运行测试:

make test

可用目标:

  • make install -安装依赖项
  • make run -使用uvicorn运行服务器
  • make test -运行测试套件
  • make docker-build -构建Docker镜像
  • make docker-run -运行Docker容器
  • make compose-up -从docker compose开始
  • make compose-down -停止docker编写
  • make compose-logs -查看docker编写日志

测试

该项目包括单元测试和集成测试:

  • 单元测试 (tests/test_tools.py)-使用模拟依赖关系测试单个工具功能
  • 集成测试 (tests/test_integration_http.py)-使用FastMCP客户端测试完整的MCP协议流

运行所有测试:

pytest -v

延伸

添加新工具:

  1. 将该功能添加到 tools.py
  2. 在中注册 server.py: mcp.tool(your_function)

添加新提示:

  1. 将提示功能添加到 prompts.py
  2. 在中注册 server.py: mcp.prompt(your_prompt)

许可证

阿帕奇

目录标签

目录标签

PythonClaude开发工具容器注册表本地部署MCP协议DockerHub多架构支持

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP