Skip to main content
Glama
AIops-tools

io.github.AIops-tools/olvm-aiops

Official

storage_capacity_rca

Read-only

Ranks storage-domain problems by severity for OLVM root-cause analysis, correlating warning events to pinpoint capacity blockers.

Instructions

[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 low with its measured free space: nothing — not the engine, not this tool — will warn before it fills, and how full is too full is not recorded anywhere to read. Over-commit on its own is a planning limit, and its signal carries actual use next to it: do not report an over-committed domain as short of space unless a low-space or blocker finding says so. 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). target: Engine target name from config; omit to use the default.

Input Schema

NameRequiredDescriptionDefault
targetNo
events_limitNo
events_window_hoursNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

With only readOnlyHint declared in annotations, the description carries the behavioral load well: it discloses severity rules, that warning-or-worse events naming a domain get attached, that unattached domains are skipped, and the edge case where unset thresholds (engine reports 0) are reported low. These are substantive traits beyond the annotation.

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

Conciseness3/5

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

The core purpose is front-loaded, which is good, but the severity discussion is dense and some sentences (e.g., the 'nothing — not the engine, not this tool — will warn' clause) are convoluted and could be tightened. Roughly adequate but with clear verbosity.

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?

There is no output schema, so the description must explain what findings look like — and it does, covering rank ordering, quoting signals, severity semantics, skipped domains, and the unset-threshold edge case. For a complex RCA tool this is complete enough to invoke and interpret correctly.

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%, but the Args block fully compensates: events_limit 1-1000 (default 200), events_window_hours 1-720 (default 24), and target (engine target name from config, omit for default). All three parameters get meaning, bounds, and defaults that the bare schema lacks.

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 states a specific verb and resource: storage-domain problems ranked worst-first in a single call, explicitly tagged [READ]. This is clearly distinguishable from storage_domain_list/get (raw listing) and engine_health_rca (different domain), so an agent can select it without opening the schema.

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?

It gives rich interpretive guidance — severity mapping (critical below free-space blocker, medium below low-space warning, high for inactive/unknown/mixed domains) and exclusions (unattached domains are skipped; over-commit alone is not a space shortage). It lacks any explicit routing to a sibling alternative, keeping it short of a 5.

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