Skip to main content
Glama

rhoso-accel-mcp

A single MCP server that lets AI agents drive the full RHOSO-to-GPU-validated-VM bring-up end to end

Wraps rhos-vaf/dev-tools — its make targets are exposed as MCP tools — following the Red Hat template-mcp-server conventions.

Tools

Read/safe (auto-run):

Tool

Wraps

devtools_show_config

make show_config

devtools_validate_config

make validate_config

devtools_show_kubeconfig

make show_kubeconfig

Write/destructive (require confirm=True):

Tool

Wraps

devtools_deploy_sno

make deploy_sno

devtools_install_lvm_operator

make install_lvm_operator

devtools_configure_lvm_cluster

make configure_lvm_cluster

devtools_install_gitops_operator

make install_gitops_operator

devtools_enable_argocd

make enable_argocd

devtools_configure_openshift_gitops

make configure_openshift_gitops

devtools_deploy_openstack_dependencies

make deploy_openstack_dependencies

devtools_deploy_openstack_operator

make deploy_openstack_operator

devtools_deploy_openstack_operator_cr

make deploy_openstack_operator_cr

devtools_deploy_eso_secrets_operator

make deploy_eso_secrets_operator

devtools_deploy_vault_secrets_operator

make deploy_vault_secrets_operator

devtools_configure_eso_authentication

make configure_eso_authentication

devtools_configure_vault_authentication

make configure_vault_authentication

Every tool returns {"status", "command", "stdout", "stderr", "exit_code"} and never raises.

Related MCP server: mcp-makefile-server

Configuration

DEVTOOLS_DIR (in .env) points at your dev-tools checkout. If left empty, the server auto-clones rhos-vaf/dev-tools into DEVTOOLS_CLONE_DIR (/tmp/dev-tools) on first use and refreshes it (git remote update && git checkout origin/main) on later runs — so read-only tools work with zero config. For real deploys, set DEVTOOLS_DIR to your own checkout containing configs/sno.local.sh; the auto-clone has no config, so destructive tools will fail validate_config until one is provided.

Run

cp .env.example .env      # optionally set DEVTOOLS_DIR
make install              # uv venv + deps
make test                 # unit tests (no real make execution)
make local                # run over stdio (local agent)
# make http               # run over HTTP (remote/CI agent)

Register with an MCP client, e.g. Claude CLI over stdio:

claude mcp add rhoso-accel --scope user -- uv run --directory /path/to/rhoso-accel-mcp rhoso-accel-mcp

Or over HTTP:

make http   # serves on http://127.0.0.1:5001
claude mcp add --transport http rhoso-accel http://localhost:5001/mcp --scope user

Available Tools

16 tools
devtools_configure_eso_authenticationA

Configure the ESO SecretStore with Vault AppRole authentication (recommended).

TOOL_NAME=devtools_configure_eso_authentication DISPLAY_NAME=Configure ESO Authentication USECASE=Wire ESO to Vault via AppRole. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_configure_eso_authentication(confirm=True) PREREQUISITES=OPENSTACK_NAMESPACE set; ESO deployed RELATED_TOOLS=devtools_deploy_eso_secrets_operator

Inputs: confirm. Returns: object

devtools_configure_lvm_clusterA

Configure the LVMCluster device class.

TOOL_NAME=devtools_configure_lvm_cluster DISPLAY_NAME=Configure LVMCluster USECASE=Register storage devices with the LVM operator. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_configure_lvm_cluster(confirm=True) PREREQUISITES=SNO_LVM_DEVICES set; LVM operator installed RELATED_TOOLS=devtools_install_lvm_operator

Inputs: confirm. Returns: object

devtools_configure_openshift_gitopsA

Configure ArgoCD with cluster-wide permissions and TLS.

TOOL_NAME=devtools_configure_openshift_gitops DISPLAY_NAME=Configure OpenShift GitOps USECASE=Grant ArgoCD the permissions/TLS RHOSO needs. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_configure_openshift_gitops(confirm=True) PREREQUISITES=ArgoCD instance enabled RELATED_TOOLS=devtools_enable_argocd

Inputs: confirm. Returns: object

devtools_configure_vault_authenticationA

Configure Vault AppRole authentication.

TOOL_NAME=devtools_configure_vault_authentication DISPLAY_NAME=Configure Vault Authentication USECASE=Set up Vault AppRole auth for the deployment. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_configure_vault_authentication(confirm=True) PREREQUISITES=OPENSTACK_NAMESPACE set; Vault Secrets Operator deployed RELATED_TOOLS=devtools_deploy_vault_secrets_operator

Inputs: confirm. Returns: object

devtools_deploy_eso_secrets_operatorA

Deploy the External Secrets Operator (recommended secrets backend).

TOOL_NAME=devtools_deploy_eso_secrets_operator DISPLAY_NAME=Deploy External Secrets Operator USECASE=Install ESO to sync secrets from Vault. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_eso_secrets_operator(confirm=True) PREREQUISITES=cluster reachable RELATED_TOOLS=devtools_configure_eso_authentication

Inputs: confirm. Returns: object

devtools_deploy_openstack_dependenciesA

Deploy OpenStack dependencies (Cert-manager, MetalLB, NMState).

TOOL_NAME=devtools_deploy_openstack_dependencies DISPLAY_NAME=Deploy OpenStack Dependencies USECASE=Install the operators RHOSO depends on. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_openstack_dependencies(confirm=True) PREREQUISITES=cluster reachable RELATED_TOOLS=devtools_deploy_openstack_operator

Inputs: confirm. Returns: object

devtools_deploy_openstack_operatorA

Deploy the OpenStack operator.

TOOL_NAME=devtools_deploy_openstack_operator DISPLAY_NAME=Deploy OpenStack Operator USECASE=Install the RHOSO OpenStack operator. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_openstack_operator(confirm=True) PREREQUISITES=OpenStack dependencies deployed RELATED_TOOLS=devtools_deploy_openstack_operator_cr

Inputs: confirm. Returns: object

devtools_deploy_openstack_operator_crA

Deploy the OpenStack operator CR to bootstrap services.

TOOL_NAME=devtools_deploy_openstack_operator_cr DISPLAY_NAME=Deploy OpenStack Operator CR USECASE=Bootstrap the RHOSO services via the operator CR. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_openstack_operator_cr(confirm=True) PREREQUISITES=OpenStack operator deployed RELATED_TOOLS=devtools_deploy_openstack_operator

Inputs: confirm. Returns: object

devtools_deploy_snoA

Deploy Single Node OpenShift via dev-tools make deploy_sno.

TOOL_NAME=devtools_deploy_sno DISPLAY_NAME=Deploy Single Node OpenShift USECASE=Provision the SNO cluster RHOSO installs on. DESTRUCTIVE (bare metal). INSTRUCTIONS=1) Ensure configs/sno.local.sh is set. 2) Call with confirm=true. INPUT_DESCRIPTION=confirm (bool) — must be true; guards against accidental provisioning OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_sno(confirm=True) PREREQUISITES=Valid BMC creds + configs/sno.local.sh RELATED_TOOLS=devtools_validate_config, devtools_show_kubeconfig

Inputs: confirm. Returns: object

devtools_deploy_vault_secrets_operatorA

Deploy the Vault Secrets Operator.

TOOL_NAME=devtools_deploy_vault_secrets_operator DISPLAY_NAME=Deploy Vault Secrets Operator USECASE=Install the Vault Secrets Operator. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_deploy_vault_secrets_operator(confirm=True) PREREQUISITES=cluster reachable RELATED_TOOLS=devtools_configure_vault_authentication

Inputs: confirm. Returns: object

devtools_enable_argocdA

Enable an ArgoCD instance with OpenStack health checks.

TOOL_NAME=devtools_enable_argocd DISPLAY_NAME=Enable ArgoCD Instance USECASE=Stand up the ArgoCD instance. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_enable_argocd(confirm=True) PREREQUISITES=GitOps operator installed RELATED_TOOLS=devtools_install_gitops_operator, devtools_configure_openshift_gitops

Inputs: confirm. Returns: object

devtools_install_gitops_operatorA

Install the OpenShift GitOps (ArgoCD) operator.

TOOL_NAME=devtools_install_gitops_operator DISPLAY_NAME=Install OpenShift GitOps Operator USECASE=Install ArgoCD used to deploy RHOSO via GitOps. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_install_gitops_operator(confirm=True) PREREQUISITES=cluster reachable RELATED_TOOLS=devtools_enable_argocd, devtools_configure_openshift_gitops

Inputs: confirm. Returns: object

devtools_install_lvm_operatorA

Install the LVM Storage Operator on the cluster.

TOOL_NAME=devtools_install_lvm_operator DISPLAY_NAME=Install LVM Storage Operator USECASE=Provide local storage for RHOSO. Modifies the cluster. INPUT_DESCRIPTION=confirm (bool) — must be true OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_install_lvm_operator(confirm=True) PREREQUISITES=SNO_OPENSHIFT_VERSION set; cluster reachable RELATED_TOOLS=devtools_configure_lvm_cluster

Inputs: confirm. Returns: object

devtools_show_configA

Display the current dev-tools deployment configuration.

TOOL_NAME=devtools_show_config DISPLAY_NAME=Show dev-tools Config USECASE=Inspect the effective SNO/RHOSO configuration before deploying. INSTRUCTIONS=Call with no arguments. INPUT_DESCRIPTION=none OUTPUT_DESCRIPTION=status, stdout (config dump), stderr, exit_code EXAMPLES=devtools_show_config() PREREQUISITES=configs/sno.local.sh present (optional) RELATED_TOOLS=devtools_validate_config

Inputs: no named parameters. Returns: object

devtools_show_kubeconfigA

Show the kubeconfig location and access instructions for the SNO cluster.

TOOL_NAME=devtools_show_kubeconfig DISPLAY_NAME=Show Kubeconfig USECASE=Find how to reach the cluster after deploy_sno completes. INSTRUCTIONS=Call after deploy_sno. INPUT_DESCRIPTION=none OUTPUT_DESCRIPTION=status, stdout (kubeconfig path/instructions), stderr, exit_code EXAMPLES=devtools_show_kubeconfig() PREREQUISITES=deploy_sno has run RELATED_TOOLS=devtools_deploy_sno

Inputs: no named parameters. Returns: object

devtools_validate_configA

Validate the dev-tools configuration before deployment.

TOOL_NAME=devtools_validate_config DISPLAY_NAME=Validate dev-tools Config USECASE=Confirm required SNO_* variables and BMC credentials are set. INSTRUCTIONS=Call with no arguments; fix any reported missing variables. INPUT_DESCRIPTION=none OUTPUT_DESCRIPTION=status, stdout, stderr, exit_code EXAMPLES=devtools_validate_config() PREREQUISITES=SNO_BMC_HOST, SNO_NODE_MAC set (via configs/sno.local.sh) RELATED_TOOLS=devtools_show_config, devtools_deploy_sno

Inputs: no named parameters. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 16 tools

    Disambiguation5/5

    Each tool maps to a distinct deployment stage or resource: config inspection/validation, SNO provisioning, LVM, GitOps/ArgoCD, OpenStack operators, and secrets backends. Even closely related tools like install_gitops_operator, enable_argocd, and configure_openshift_gitops have clear boundaries through their descriptions.

    Naming Consistency4/5

    Names consistently follow a devtools_<verb>_<target> snake_case pattern, but there are minor deviations: operator installation uses both 'install' and 'deploy' (install_lvm_operator vs deploy_openstack_operator), and enable_argocd is slightly different in style. Overall the set is still predictable and readable.

    Tool Count4/5

    At 16 tools, the set is slightly over the ideal 3-15 range but each tool corresponds to a discrete deployment step in a multi-stage RHOSO provisioning workflow. The count feels justified rather than bloated.

    Completeness4/5

    The tool surface covers the core deployment lifecycle well: config validation, SNO provisioning, storage, GitOps, OpenStack operators, and secrets backends. Notable gaps include no teardown/rollback tools and no final deployment status verification beyond kubeconfig display, but agents can complete the primary workflow.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers