io.github.AIops-tools/olvm-aiops
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLVM_AIOPS_HOME | No | Optional directory for audit.db and other runtime data, overriding default ~/.olvm-aiops. | |
| OLVM_RUNAWAY_MAX | No | Optional tight‑loop circuit breaker threshold for runaway guard. | |
| OLVM_AIOPS_CONFIG | No | Optional path to config.yaml, overriding default ~/.olvm-aiops/config.yaml. | |
| OLVM_MAX_TOOL_CALLS | No | Optional cumulative call cap for runaway guard. | |
| OLVM_MAX_TOOL_SECONDS | No | Optional cumulative wall-time cap for runaway guard. | |
| OLVM_AUDIT_APPROVED_BY | No | Optional operator-supplied approver/rationale recorded in audit entries. | |
| OLVM_AIOPS_MASTER_PASSWORD | Yes | Master password to unlock the encrypted secrets store. Required for the MCP server to access credentials; without it tools return a teaching error. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| datacenter_listA | [READ] Data centers with status (up, uninitialized, maintenance…) and compat version. Args:
limit: Rows to return, 1-1000 (default 100); |
| cluster_listB | [READ] Clusters with compatibility version, CPU type and memory over-commit policy. Args: limit: Rows to return, 1-1000 (default 100). target: Engine target name from config; omit to use the default. |
| host_listA | [READ] KVM hosts with status, SPM role, memory and VM counts. A field the engine did not report is null, never 0. For "what is wrong with my hosts" use host_health_rca instead of reading this list yourself. Args:
limit: Rows to return, 1-1000 (default 100); |
| host_getA | [READ] One KVM host by id (see host_list). Args: host_id: Host id. target: Engine target name from config; omit to use the default. |
| event_listA | [READ] Engine events at or above a severity, newest first. To follow new events, pass the highest Args:
limit: Rows to return, 1-1000 (default 100); |
| job_listA | [READ] Engine jobs (long-running operations) with status and duration. Args: limit: Rows to return, 1-1000 (default 100). status: Only one status: started, finished, failed, aborted, unknown. target: Engine target name from config; omit to use the default. |
| host_health_rcaA | [READ] What needs attention on KVM hosts, ranked worst first, in one call. Combines host status and status detail, reinstall/update flags and recent
warning-or-worse events that name a host. Each finding has Args: events_limit: Recent warning-or-worse events to correlate, 1-1000 (default 200). events_window_hours: Ignore events older than this many hours, 1-720 (default 24); older ones are counted in eventsOutsideWindow. target: Engine target name from config; omit to use the default. |
| engine_health_rcaA | [READ] Problems with the engine itself, ranked worst first, in one call. Reads the engine's health check, its version, its clock against this machine and
its summary counts, plus warning-or-worse events that name no host, VM or storage
domain: engine or CA certificate expiry, missing or failed engine backups, a
cluster failing its HA reservation. Those alerts appear in no other diagnosis, so
call this first for "is anything wrong". Event 10803 (a storage-pool vdsm command
failed) names no host and lands here: its cause names the command, which is the
subject — not the engine — and its severity is the event's own. Event 2024 is a record
that someone ran unlock_entity.sh by hand: it is Args: events_limit: Recent warning-or-worse events to correlate, 1-1000 (default 200). events_window_hours: Ignore events older than this many hours, 1-720 (default 24). target: Engine target name from config; omit to use the default. |
| storage_domain_listA | [READ] Storage domains with status and capacity (free, used, committed bytes and %). The status of an attached domain comes from its data center ( Args:
limit: Rows to return, 1-1000 (default 100); |
| storage_domain_getA | [READ] One storage domain by id, with its data-center-scoped status. Args: domain_id: Storage domain id (see storage_domain_list). target: Engine target name from config; omit to use the default. |
| vm_listA | [READ] VMs with status, host, vCPUs, memory and high-availability flag. Args:
limit: Rows to return, 1-1000 (default 100); |
| vm_getB | [READ] One VM by id (see vm_list). Args: vm_id: VM id. target: Engine target name from config; omit to use the default. |
| vm_statsA | [READ] A VM's current statistics: memory, CPU %, network and disk usage, with units. Args: vm_id: VM id. target: Engine target name from config; omit to use the default. |
| storage_capacity_rcaA | [READ] Storage-domain problems ranked worst first, in one call. Critical when free space is below the engine's critical blocker (the engine then
refuses new disks and snapshots); medium below the low-space warning, or when thin
disks are committed beyond capacity while space is low (low on its own); high when
an attached domain is inactive, unknown or mixed. Warning-or-worse events naming a
storage domain (for example "deactivated by system") are attached to it.
Unattached domains such as the default image repository are skipped. A domain whose
thresholds are unset (the engine reports 0) is reported Args: events_limit: Recent warning-or-worse events to correlate, 1-1000 (default 200). events_window_hours: Ignore events older than this many hours, 1-720 (default 24). target: Engine target name from config; omit to use the default. |
| vm_health_rcaA | [READ] VM problems ranked worst first, in one call. High for VMs stuck not_responding/unknown, paused (often storage I/O errors or a full domain — check storage_capacity_rca), or down with high availability; medium for image_locked; info for VMs mid-transition; low for config changes waiting for a restart. Recent warning-or-worse events naming a VM are attached to it, one finding per VM and code; an event is superseded (info) when the VM started after it, or when the engine reported it back up and it is up now. Down VMs without HA are normal. Report findings in rank order and quote their signal. Args: events_limit: Recent warning-or-worse events to correlate, 1-1000 (default 200). events_window_hours: Ignore events older than this many hours, 1-720 (default 24); older ones are counted in eventsOutsideWindow. target: Engine target name from config; omit to use the default. |
| undo_listA | [READ] List recorded, not-yet-applied undo tokens (most recent first). Each entry names the original tool, the inverse tool that One extra row is read so Each entry carries Args: limit: Max rows to return (default 50, capped at 500). target: Unused (undo state is host-local); accepted for CLI uniformity. |
| undo_applyA | [WRITE][risk=medium] Apply a recorded undo by dispatching its inverse tool. The inverse runs through its own governed tool, so it is audited under its own risk tier. Pass dry_run=True to preview the inverse call without executing it. A token can only be applied once. Args:
undo_id: The undoId from undo_list (or an |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
List/get tools and the *_rca diagnostic tools are clearly separated, with explicit guidance in host_list and engine_health_rca pointing users to the RCA tool for 'what is wrong'. The four diagnostic aggregators (host, engine, storage, vm) have distinct scopes, though host_health_rca discussing VM candidates and vm_health_rca referencing storage creates minor cross-over.
Names follow a predictable resource_action snake_case pattern (host_list, vm_get, storage_domain_get, undo_apply). Verb choices vary (list, get, stats, health_rca, capacity_rca, apply) but the resource-first convention is consistent and readable throughout.
17 tools is reasonable for a platform spanning hosts, VMs, storage, datacenters, clusters, events, jobs plus diagnostics. Each tool maps to a distinct resource or diagnostic concern with little redundancy.
Read and diagnostic coverage is strong, but the surface is almost entirely read-only with no VM lifecycle, host maintenance, or other action tools, even though the undo framework implies write tools that generated the tokens but are not exposed here. Some resources also lack a get counterpart (cluster, datacenter, job).