maxamillion/pyxis-mcp-server
If you are the rightful owner of pyxis-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP Server for interacting with the data behind Red Hat Pyxis
Red Hat Pyxis MCP Server
A Model Context Protocol (MCP) server for interacting with the Red Hat Pyxis service, providing access to container images, certification projects, operators, and repositories metadata.
Features
- Container Image Search: Search and get detailed information about container images
- Security Vulnerabilities: Retrieve security vulnerability information for images
- Certification Projects: Search and manage Red Hat certification projects
- Operator Bundles: Discover and analyze operator bundles and packages
- Repository Management: Search and explore container repositories
- Authentication: Secure API key-based authentication
- Error Handling: Comprehensive error handling with user-friendly messages
Installation
Prerequisites
- Python 3.10 or higher
- Red Hat Pyxis API key
Install from Source
git clone https://github.com/admiller/pyxis-mcp-server
cd pyxis-mcp-server
pip install -e .
Install from PyPI (when available)
pip install pyxis-mcp
Configuration
API Key Setup
You need a Red Hat Pyxis API key to use this server. Set it as an environment variable:
export PYXIS_API_KEY="your-api-key-here"
Alternatively, create a .env
file in your project directory:
PYXIS_API_KEY=your-api-key-here
To obtain an API key, contact the Pyxis development team at pyxis-dev@redhat.com.
Usage
Running the Server
pyxis-mcp
Or run directly:
python -m pyxis_mcp.server
Available Tools
The server provides the following MCP tools:
Container Image Tools
-
search_images
: Search for container images- Parameters:
query
,architecture
,registry
,certified
,max_results
- Example: Search for RHEL images on specific registry
- Parameters:
-
get_image_details
: Get detailed information about a specific image- Parameters:
image_id
- Returns: Comprehensive image metadata including repositories, tags, size
- Parameters:
-
get_image_vulnerabilities
: Get security vulnerabilities for an image- Parameters:
image_id
,max_results
- Returns: List of CVEs with severity and CVSS scores
- Parameters:
Certification Project Tools
-
search_certification_projects
: Search certification projects- Parameters:
query
,status
,max_results
- Example: Find projects by name or certification status
- Parameters:
-
get_certification_project_details
: Get detailed project information- Parameters:
project_id
- Returns: Project timeline, status, descriptions, and container details
- Parameters:
Operator Tools
-
search_operators
: Search operator bundles- Parameters:
query
,package
,max_results
- Example: Find operators by name or package
- Parameters:
-
get_operator_details
: Get detailed operator information- Parameters:
operator_id
- Returns: Bundle details, versions, channels, and certification status
- Parameters:
Repository Tools
search_repositories
: Search container repositories- Parameters:
query
,registry
,max_results
- Returns: Repository listings with tags and publication status
- Parameters:
Example Usage
With Claude Desktop
Add to your MCP settings configuration:
{
"mcpServers": {
"pyxis": {
"command": "pyxis-mcp",
"env": {
"PYXIS_API_KEY": "your-api-key-here"
}
}
}
}
Example Queries
-
Search for certified RHEL images:
search_images(query="rhel", certified=true, max_results=10)
-
Get vulnerability information for a specific image:
get_image_vulnerabilities(image_id="507f1f77bcf86cd799439011")
-
Find certification projects for containers:
search_certification_projects(query="container", status="approved")
-
Search for OpenShift operators:
search_operators(query="openshift", max_results=15)
Development
Setting up Development Environment
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]"
Running Tests
pytest
Code Formatting
black src/
isort src/
Type Checking
mypy src/
API Reference
The server interacts with the Red Hat Pyxis API v1. For detailed API documentation, visit:
Error Handling
The server provides comprehensive error handling for common scenarios:
- Authentication Errors: Clear messages when API key is missing or invalid
- Connection Errors: Timeout and connection failure handling
- API Errors: Proper handling of API rate limits and server errors
- Validation Errors: Input validation with helpful error messages
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Run the test suite
- Submit a pull request
License
This project is licensed under the MIT License - see the file for details.
Support
For issues related to this MCP server, please open an issue on GitHub.
For questions about the Pyxis API itself, contact: pyxis-dev@redhat.com
Changelog
v0.1.0
- Initial release
- Container image search and details
- Security vulnerability reporting
- Certification project management
- Operator bundle discovery
- Repository search functionality