Skip to main content
Glama

delete_old_snapshots

Destructive

Delete pvewarden snapshots older than a specified number of days (default 7), leaving newer snapshots untouched. Omit vmid to clean all guests tagged pvewarden-update.

Instructions

Delete pvewarden snapshots older than N days (default 7); other snapshots are never touched. Without vmid, cleans all guests tagged 'pvewarden-update'. Returns the deleted snapshots; an empty list means none were old enough. To delete one specific snapshot, use delete_snapshot. pvewarden asks the user to confirm in the client; if they decline, nothing changes.

Input Schema

NameRequiredDescriptionDefault
vmidNoProxmox VMID of one guest; omit for every guest that allows updates.
older_than_daysNoDelete snapshots older than this many days; 0 = all pvewarden snapshots.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.1.1
    • addedInput schema / properties / older_than_days / description
      Added value: +"Delete snapshots older than this many days; 0 = all pvewarden snapshots."
    • addedInput schema / properties / older_than_days / minimum
      Added value: +0
    • addedInput schema / properties / vmid / description
      Added value: +"Proxmox VMID of one guest; omit for every guest that allows updates."
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

Goes well beyond the destructiveHint=true annotation by disclosing the blast radius (only pvewarden snapshots, tag-scoped when vmid is omitted), the confirmation prompt in the client, and that a declined confirmation leaves state unchanged. Minor gap: it does not say whether deletion is reversible or whether the tag is required to exist.

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?

Front-loads the destructive scope, then the fallback selection rule, then the return semantics, then the sibling routing and confirmation behavior. Every sentence carries distinct operational information with no filler.

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?

For a destructive bulk-delete tool with an output schema and declared annotations, this covers selection scope, safety gate, return-value interpretation, and sibling routing. Nothing needed to invoke it correctly is missing.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: the tag name 'pvewarden-update' that vmid-omission keys off of, and the default of 7 days. It does not restate the 0 = all semantics, which the schema already covers.

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?

States a specific verb and resource ('Delete pvewarden snapshots') plus the scoping rule (older than N days, default 7) and an explicit boundary ('other snapshots are never touched'). The agent can distinguish it from delete_snapshot and rollback_snapshot from the description alone.

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 names the alternative route ('To delete one specific snapshot, use delete_snapshot') and defines the bulk case via the omitted-vmid tag path. The when-to-use and when-not-to-use conditions are both present with no inference required.

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