红帽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"
}
}
}
}查询示例
- 搜索经过认证的RHEL映像:
search_images(query="rhel", certified=true, max_results=10)- 获取特定映像的漏洞信息:
get_image_vulnerabilities(image_id="507f1f77bcf86cd799439011")- 查找集装箱认证项目:
search_certification_projects(query="container", status="approved")- 搜索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速率限制和服务器错误
- 验证错误:输入验证,并显示有用的错误消息
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 运行测试套件
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
有关此MCP服务器的问题,请在GitHub上打开问题。
有关Pyxis API本身的问题,请联系:pyxis-dev@redhat.com
更新日志
v0.1.0
- 初始版本
- 容器图像搜索和详细信息
- 安全漏洞报告
- 认证项目管理
- 操作员捆绑包发现
- 存储库搜索功能
