rhoso-accel-mcp
# 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`](https://github.com/rhos-vaf/dev-tools) — its `make` targets are
exposed as MCP tools — following the Red Hat
[`template-mcp-server`](https://github.com/redhat-data-and-ai/template-mcp-server.git) 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.
## 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
```bash
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:
```bash
claude mcp add rhoso-accel --scope user -- uv run --directory /path/to/rhoso-accel-mcp rhoso-accel-mcp
```
Or over HTTP:
```bash
make http # serves on http://127.0.0.1:5001
claude mcp add --transport http rhoso-accel http://localhost:5001/mcp --scope user
```
TDQS
Scored across 16 tools
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.
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.
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.
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.