Skip to main content
Glama
AIops-tools

io.github.AIops-tools/olvm-aiops

Official

host_health_rca

Identifies and ranks KVM host health issues, combining status, update flags, and recent warning events. Provides signal, cause, and action for each finding, prioritizing worst first.

Instructions

[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 signal (what was measured), cause, action and rank. Hosts that the engine is installing or rebooting are reported as in progress, not failed; alert 9000 (power management not verifiable) is informational on hosts without fencing hardware. 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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNo
events_limitNo
events_window_hoursNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, and it excels. It explicitly states that hosts being installed/rebooted are 'reported as in progress, not failed', and that alert 9000 is 'informational on hosts without fencing hardware.' It also instructs to 'Report findings in rank order and quote their signal,' covering output expectations. These are non-obvious behaviors that an agent must know to interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: a one-sentence purpose statement, a compact behavioral note, and a concise parameter list. Every sentence adds value; there is no fluff. The key purpose is front-loaded, and the parameter details are clearly separated. It is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for an agent to use the tool correctly. It defines the output contract (each finding has signal, cause, action, rank), explains special cases (in-progress vs failed, informational alert), and documents all parameters. Although there is no output schema, the description provides sufficient detail on return semantics. It also mentions 'eventsOutsideWindow' implicitly, covering the window behavior. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It does: the 'Args' block explains each parameter with its range, default, and purpose (e.g., 'events_limit: Recent warning-or-worse events to correlate, 1-1000 (default 200)'). This adds significant semantic meaning beyond the bare schema types and defaults, making the tool safely callable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'What needs attention on KVM hosts, ranked worst first, in one call.' It names the resource (KVM hosts), the verb (needs attention), and the ranking. It distinguishes itself from sibling tools like host_list (simple listing) and host_get (single host) by emphasizing the composite, prioritized RCA output. It also stands apart from other RCA tools (engine, storage, vm) by explicitly scoping to KVM hosts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you need a consolidated health assessment of KVM hosts in one call, combining status, events, and reinstall/update flags. It does not explicitly name alternatives or exclusions, but the 'in one call' phrasing and the composite nature strongly signal it's the go-to for host-level RCA. Given the presence of sibling RCA tools, a more explicit comparison would have pushed this to 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.