Skip to main content
Glama
vmware-skills

VMware-Monitor

get_alarms

Read-onlyIdempotent

Fetch active/triggered VMware alarms across the inventory, with condition status (holds/cleared/unknown) and suggested remediation actions for each.

Instructions

[READ] Get active/triggered alarms across the VMware inventory.

Returns the list envelope with a real total. Each alarm carries suggested_actions naming the companion skill and tool for remediation, who acknowledged it and when (acknowledged_by / acknowledged_at), and condition_now: holds (live), cleared (vCenter still shows it but its state condition is false now — a stale alarm; see condition_note), or unknown (event/metric-based or unreadable — never guessed). The envelope's stale_alarms counts the cleared ones. An expired-vCenter-license alarm is re-checked against this vCenter's own license assignment. object_label names alarms about the vCenter appliance itself (e.g. "vCenter appliance 192.168.60.16") that sit on the inventory root; entity_name stays the object vmware-aiops resolves. Do not report a cleared alarm as a live problem; do not report an unknown one as resolved. Empty items with truncated False means there genuinely are no active alarms — never report "no data" otherwise.

Use this for the raw alarm list; prefer cluster_health_summary when you want alarms folded into a whole-cluster verdict. Then drill into the flagged object with vm_investigation_bundle or host_investigation_bundle.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax alarms to return (None = all).
targetNovCenter/ESXi target from config (default if omitted).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.9.2
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / limit / description
      Added value: +"Max alarms to return (None = all)."
    • addedInput schema / properties / target / description
      Added value: +"vCenter/ESXi target from config (default if omitted)."
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "items": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "title": "Result",
      -      "type": "array"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "get_alarmsOutput",
      -  "type": "object"
      -}New value: +null
  2. Changed1 schema field changedv1.5.18
    • addedInput schema / properties / limit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Limit"
      +}
  3. First observedv0.1.2

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/idempotent/non-destructive behavior. The description adds substantial context beyond that: condition_now states (holds/cleared/unknown) with precise definitions, stale_alarms counting, the vCenter license re-check, and the object_label/entity_name distinction. It also warns against misreporting cleared or unknown alarms.

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 long but every sentence earns its place: each caveat prevents a real misuse, such as reporting cleared alarms as live problems or 'no data' when empty items with truncated=False means genuinely no alarms. It is front-loaded with the main purpose and then organized by output semantics.

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?

Even though there is no output schema, the description supplies essential return structure: the list envelope, total, stale_alarms count, alarm fields, and empty-items semantics. Combined with the full parameter schema and annotations, nothing critical is missing for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add much detail about limit or target beyond what the schema already provides, though its rich output semantics are not parameter-related.

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?

Opens with '[READ] Get active/triggered alarms across the VMware inventory' — a specific verb+resource that clearly distinguishes it from sibling cluster_health_summary. It also states it returns a list envelope with a real total and alarm condition semantics, so the agent knows exactly what this tool does.

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

Usage Guidelines5/5

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

Explicitly says 'Use this for the raw alarm list; prefer cluster_health_summary when you want alarms folded into a whole-cluster verdict. Then drill into the flagged object with vm_investigation_bundle or host_investigation_bundle.' This gives clear when-to-use, when-not-to-use, and alternative tools.

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