容器镜像管理服务器

Red Hat Pyxis MCP服务器是一个用于与Red Hat Pyxis服务交互的模型上下文协议服务器,提供对容器镜像、认证项目、操作符和仓库元数据的访问。

  • by maxamillion
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 maxamillion/pyxis-mcp-server

使用说明

红帽Pyxis MCP服务器

一个模型上下文协议(MCP)服务器,用于与Red Hat Pyxis服务交互,提供对容器映像、认证项目、操作员和存储库元数据的访问。

特性

  • 容器图像搜索:搜索并获取有关容器图像的详细信息
  • 安全漏洞:检索图像的安全漏洞信息
  • 认证项目:搜索和管理红帽认证项目
  • 操作员捆绑包:发现和分析运营商捆绑包和套餐
  • 库管理:搜索和探索容器存储库
  • 认证:基于API密钥的安全身份验证
  • 错误处理:通过用户友好的消息进行全面的错误处理

安装

先决条件

  • Python 3.10或更高版本
  • Red Hat Pyxis API密钥

从源代码安装

git clone https://github.com/admiller/pyxis-mcp-server
cd pyxis-mcp-server
pip install -e .

从PyPI安装(如果可用)

pip install pyxis-mcp

配置

API密钥设置

您需要一个Red Hat Pyxis API密钥才能使用此服务器。将其设置为环境变量:

export PYXIS_API_KEY="your-api-key-here"

或者,创建一个 .env 项目目录中的文件:

PYXIS_API_KEY=your-api-key-here

要获得API密钥,请联系Pyxis开发团队pyxis-dev@redhat.com.

用法

运行服务器

pyxis-mcp

或者直接运行:

python -m pyxis_mcp.server

可用工具

服务器提供以下MCP工具:

容器图像工具

  • search_images:搜索容器图像

    • 参数: query, architecture, registry, certified, max_results
    • 示例:在特定注册表上搜索RHEL映像
  • get_image_details:获取特定图像的详细信息

    • 参数: image_id
    • 返回:全面的图像元数据,包括存储库、标签、大小
  • get_image_vulnerabilities:获取映像的安全漏洞

    • 参数: image_id, max_results
    • 返回:CVE列表,包括严重程度和CVSS评分

认证项目工具

  • search_certification_projects:搜索认证项目

    • 参数: query, status, max_results
    • 示例:按名称或认证状态查找项目
  • get_certification_project_details:获取详细的项目信息

    • 参数: project_id
    • 返回:项目时间线、状态、描述和容器详细信息

操作员工具

  • search_operators:搜索运算符包

    • 参数: query, package, max_results
    • 示例:按名称或包查找运算符
  • get_operator_details:获取详细的操作员信息

    • 参数: operator_id
    • 返回:捆绑包详细信息、版本、渠道和认证状态

存储库工具

  • search_repositories:搜索容器存储库
    • 参数: query, registry, max_results
    • 返回:带有标签和发布状态的存储库列表

示例用法

使用克劳德桌面

添加到MCP设置配置中:

{
  "mcpServers": {
    "pyxis": {
      "command": "pyxis-mcp",
      "env": {
        "PYXIS_API_KEY": "your-api-key-here"
      }
    }
  }
}

查询示例

  1. 搜索经过认证的RHEL映像:

    search_images(query="rhel", certified=true, max_results=10)
    
  2. 获取特定映像的漏洞信息:

    get_image_vulnerabilities(image_id="507f1f77bcf86cd799439011")
    
  3. 查找集装箱认证项目:

    search_certification_projects(query="container", status="approved")
    
  4. 搜索OpenShift操作员:

    search_operators(query="openshift", max_results=15)
    

发展

建立开发环境

git clone https://github.com/admiller/pyxis-mcp-server
cd pyxis-mcp-server

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

运行测试

pytest

代码格式化

black src/
isort src/

类型检查

mypy src/

api参考

服务器与Red Hat Pyxis API v1。有关API的详细文档,请访问:

错误处理

服务器为常见场景提供全面的错误处理:

  • 身份验证错误:当API密钥丢失或无效时清除消息
  • 连接错误:超时和连接失败处理
  • API错误:正确处理API速率限制和服务器错误
  • 验证错误:输入验证,并显示有用的错误消息

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 运行测试套件
  6. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

支持

有关此MCP服务器的问题,请在GitHub上打开问题。

有关Pyxis API本身的问题,请联系:pyxis-dev@redhat.com

更新日志

v0.1.0

  • 初始版本
  • 容器图像搜索和详细信息
  • 安全漏洞报告
  • 认证项目管理
  • 操作员捆绑包发现
  • 存储库搜索功能