IPI Provisioner MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Host for SSE transport (default: 127.0.0.1) | 127.0.0.1 |
| MCP_PORT | No | Port for SSE transport (default: 8000) | 8000 |
| SSH_KEY_PATH | No | Path to SSH public key file (e.g., ~/.ssh/id_rsa.pub) | |
| MCP_TRANSPORT | No | MCP transport mode (stdio or sse, default: stdio) | stdio |
| PULL_SECRET_PATH | No | Path to pull secret JSON file | |
| OPENSHIFT_RELEASE_IMAGE | No | OpenShift release image URL (e.g., quay.io/openshift-release-dev/ocp-release:4.17.0-x86_64) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| validate_install_configA | Validate an install-config.yaml file. Args: config_yaml: The install-config.yaml content as a string Returns: Validation results with errors and summary |
| generate_install_configA | Generate an install-config.yaml for baremetal IPI. Args: cluster_name: Name of the cluster base_domain: Base domain (e.g., example.com) pull_secret: Pull secret content (JSON string) ssh_key: SSH public key content api_vip: API VIP address ingress_vip: Ingress VIP address hosts: List of baremetal hosts with BMC configuration machine_network_cidr: Machine network CIDR (default: 192.168.1.0/24) cluster_network_cidr: Cluster network CIDR (default: 10.128.0.0/14) service_network_cidr: Service network CIDR (default: 172.30.0.0/16) network_type: Network type (default: OVNKubernetes) control_plane_replicas: Number of master nodes (default: 3) worker_replicas: Number of worker nodes (default: 0) Returns: Generated install-config as dictionary and YAML string |
| get_config_templateA | Get an install-config template. Args: template_name: Template name (e.g., 'baremetal-ipi-compact', 'baremetal-ipi-ha') Returns: Template content and metadata |
| list_config_templatesA | List all available install-config templates. Returns: List of templates with descriptions |
| create_baremetal_host_entryA | Create a baremetal host entry for install-config.yaml. Args: name: Host name (e.g., 'master-0') role: Host role ('master' or 'worker') bmc_address: BMC address (e.g., 'redfish://192.168.1.100') bmc_username: BMC username bmc_password: BMC password boot_mac_address: Boot MAC address (e.g., 'aa:bb:cc:dd:ee:ff') root_device_hint: Optional root device hint (e.g., '/dev/sda' or 'wwn') Returns: Host configuration dictionary ready for install-config.yaml |
| test_bmc_connectionA | Test BMC connectivity (Redfish). Args: bmc_address: BMC address (e.g., 'redfish://192.168.1.100' or 'redfish+https://192.168.1.100') username: BMC username password: BMC password verify_ssl: Whether to verify SSL certificates (default: False) Returns: Connection test results |
| validate_bmc_addressesA | Validate BMC addresses for multiple hosts. Args: hosts: List of host configurations with BMC details Each host should have: name, bmc.address, bmc.username, bmc.password Returns: Validation results for all hosts |
| parse_bmc_addressA | Parse and validate BMC address format. Args: bmc_address: BMC address (e.g., 'redfish://192.168.1.100:443') Returns: Parsed BMC address components |
| generate_bmc_test_scriptB | Generate a bash script to test BMC connectivity for multiple hosts. Args: hosts: List of host configurations with BMC details Returns: Bash script for testing BMC connectivity |
| validate_network_cidrA | Validate CIDR notation. Args: cidr: CIDR string (e.g., '192.168.1.0/24') Returns: Validation result |
| check_ip_in_networkB | Check if an IP address is within a CIDR range. Args: ip_address: IP address to check cidr: CIDR range Returns: Check result |
| check_network_overlapB | Check if two networks overlap. Args: cidr1: First CIDR cidr2: Second CIDR Returns: Overlap check result |
| validate_vip_configurationC | Validate VIP (Virtual IP) configuration. Args: api_vip: API VIP address ingress_vip: Ingress VIP address machine_network_cidr: Machine network CIDR Returns: Validation results |
| generate_dns_configA | Generate DNS configuration for the cluster. Args: cluster_name: Cluster name base_domain: Base domain api_vip: API VIP address ingress_vip: Ingress VIP address hosts: Optional JSON string of hosts list. Each host should have 'name' and 'ip' keys. Example: '[{"name": "master-0", "ip": "10.1.235.25"}, {"name": "master-1", "ip": "10.1.235.26"}]' Returns: Required DNS records and validation commands including A and PTR records for hosts |
| calculate_cluster_network_capacityA | Calculate cluster network capacity. Args: cluster_cidr: Cluster network CIDR (e.g., '10.128.0.0/14') host_prefix: Host prefix - subnet size per node (e.g., 23) Returns: Capacity calculations (max nodes, IPs per node, etc.) |
| generate_network_diagramA | Generate a network diagram for the cluster. Args: cluster_cidr: Cluster (pod) network CIDR service_cidr: Service network CIDR machine_cidr: Machine network CIDR api_vip: API VIP ingress_vip: Ingress VIP Returns: Network diagram |
| validate_complete_network_configA | Validate complete network configuration for overlaps and validity. Args: cluster_cidr: Cluster network CIDR service_cidr: Service network CIDR machine_cidr: Machine network CIDR api_vip: Optional API VIP (required for HA) ingress_vip: Optional Ingress VIP (required for HA) Returns: Comprehensive validation results |
| check_installer_binaryA | Check if openshift-install binary is available. Args: install_dir: Optional installation directory to check for local binary Returns: Binary existence check results |
| extract_openshift_installerA | Extract openshift-install binary from a release image. Args: release_image: OpenShift release image URL (e.g., 'quay.io/openshift-release-dev/ocp-release:4.17.0-x86_64') output_dir: Directory to extract installer to (default: current directory) Returns: Extraction results and next steps |
| create_installation_manifestsA | Create Kubernetes manifests from install-config.yaml. Args: install_dir: Installation directory containing install-config.yaml installer_path: Path to openshift-install binary (default: 'openshift-install') Returns: Manifest creation results |
| prepare_cluster_installationA | Prepare cluster installation command. This tool doesn't actually start the installation (which can take 30-60 minutes), but provides the command to run. Args: install_dir: Installation directory installer_path: Path to openshift-install binary (default: 'openshift-install') log_level: Log level (debug, info, warn, error) Returns: Installation command and information |
| prepare_cluster_destroyA | Prepare cluster destroy command. This tool provides the command to destroy the cluster. Use with caution - this will delete the entire cluster! Args: install_dir: Installation directory installer_path: Path to openshift-install binary (default: 'openshift-install') Returns: Destroy command and information |
| get_installation_statusB | Get cluster installation status. Args: install_dir: Installation directory Returns: Installation status and progress |
| get_installation_logsA | Get recent installation log entries. Args: install_dir: Installation directory lines: Number of recent lines to retrieve (default: 50) Returns: Recent log entries |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/redhat-community-ai-tools/openshift-ipi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server