Skip to main content
Glama
vmware-skills

VMware-Monitor

vm_backup_snapshot_history

Read-onlyIdempotent

Measure snapshot-open durations from vCenter task history for a chosen VM, identifying backup windows and snapshots left behind. Helps validate backup jobs without backup server credentials.

Instructions

[READ] How long backups held a snapshot open on one VM, from task history.

Image-level backup products (Veeam, Commvault, Rubrik, NetBackup) snapshot the VM, copy the frozen disks, then delete the snapshot. vCenter records both ends, so the backup window is recoverable without credentials for the backup server.

This is a LOWER BOUND on the job, not its duration: work the product does before the snapshot is taken and after it is removed is invisible to vCenter. The returned basis says so — quote it alongside any figure.

Returns a rollup, not the list envelope: counts, four hour statistics (backup_active / snapshot_present / total_window / snapshot_removal), latest_cycle, longest_cycle, and unmatched rows for creations with no removal (a backup that left its snapshot behind) or removals whose creation predates the window.

Read two fields before reporting all-clear. history_unavailable non-null means the history could not be read at all — that is not "no backups". coverage_note non-null means vCenter has already expired part of the requested window (vpxd.task.maxAge, 30 days by default), so the counts describe a shorter period than days asked for.

Duplicate VM names raise rather than resolve to one, because a duration attributed to the wrong same-named VM looks exactly like a correct answer. For snapshots that exist right now use vm_list_snapshots or snapshot_aging.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoHow far back to look, 1 to 365 (default 30).
limitNoMax cycle rows when include_cycles is set (capped at 200).
targetNovCenter/ESXi target from config (default if omitted).
vm_nameYesExact VM name; duplicates are refused, not guessed.
include_cyclesNoAlso return the individual cycles, newest kept on cap.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv1.9.2

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already mark the tool read-only, idempotent, and non-destructive, so the description adds substantial behavioral context beyond that: it returns a rollup rather than a raw list envelope, history_unavailable and coverage_note can indicate incomplete data, duplicate VM names raise an error, and the result is a lower bound on backup duration.

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 longer than average, but every section earns its place: scope, lower-bound semantics, return shape, failure-signal fields, duplicate-name behavior, and pointer to alternatives. It is front-loaded with the core purpose and uses formatting to make caveats scannable.

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?

With no output schema present, the description carries the full burden of explaining what is returned: counts, four-hour statistics, latest and longest cycles, unmatched rows, and the two fields that must be checked before reporting all-clear. It also covers the duplicate-name failure mode and directs to sibling tools appropriately.

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

Parameters4/5

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

The input schema already documents all five parameters with 100% coverage, so the baseline is 3. The description adds meaningful nuance for vm_name by stating that duplicate names are refused rather than guessed, and for days by explaining that coverage_note can mean the returned window is shorter than requested.

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 opens with a specific, measurable statement: 'How long backups held a snapshot open on one VM, from task history.' It names the exact resource, source of data, and one-VM scope, and it distinguishes this tool from snapshot_aging and vm_list_snapshots by pointing those tools at current snapshots.

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?

The description explicitly routes users to vm_list_snapshots or snapshot_aging for snapshots that exist right now, while positioning this tool as the historical backup-window view. It also clarifies when the data is meaningful (image-level backup products) and warns not to treat the result as the full backup job duration.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vmware-skills/VMware-Monitor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server