Skip to main content
Glama

check_updates

Read-only

Checks pending package updates, security flags, held packages, Proxmox locks, and reboot state for running VMs and containers before applying updates.

Instructions

Refresh package lists and report pending updates and reboot state. Each package has 'official' (from the distribution archives) and 'security' flags. Updates from third-party repositories are listed in 'third_party_report_only': apply_updates never installs them; report them to the user, especially major version jumps. 'held' = apt-mark hold, also skipped. auto_updates=true means the guest also installs updates by itself every day (unattended-upgrades) without a pvewarden snapshot; mention it to the user, it explains updates nobody asked for. 'lock' is a Proxmox lock on the guest (e.g. 'backup'): updates, snapshots and reboots wait until it is gone. backup_running=true: a Proxmox backup runs on that node now, updates would be much slower; suggest waiting until it is done. Without vmids, checks every running guest. Read-only: use it to see what is pending, apply_updates to install. Returns {guests: [...], pvewarden: {...}}. 'pvewarden' is about pvewarden itself: if it has 'new_version', tell the user that a newer pvewarden is out and how to upgrade ('upgrade'); security_fix=true means the newer release fixes a security problem: say so first. You cannot upgrade pvewarden yourself.

Input Schema

NameRequiredDescriptionDefault
vmidsNoProxmox VMIDs to check, e.g. [101, 102]; omit for all running guests.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.1
    • addedInput schema / properties / vmids / description
      Added value: +"Proxmox VMIDs to check, e.g. [101, 102]; omit for all running guests."
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true, so the description carries the burden and does so richly: it discloses that third-party updates are report-only and never installed, that 'held' packages are skipped, that auto_updates explains unattended daily updates without a pvewarden snapshot, and that a Proxmox 'lock' blocks updates, snapshots and reboots. It also flags the self-upgrade limitation ('You cannot upgrade pvewarden yourself'), which the annotations do not convey.

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

Conciseness4/5

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

The purpose and read-only/apply_updates routing are front-loaded, and nearly every sentence maps to a distinct field or decision the agent must make, so little is wasted. It is, however, a dense run-on block of quoted field names that is harder to scan than it needs to be.

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 return values, and it does: it names the {guests: [...], pvewarden: {...}} shape and interprets the important fields (official/security flags, third_party_report_only, held, lock, backup_running, new_version/security_fix). Nothing an agent needs to interpret results or advise the user is missing.

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 coverage is 100% and the single vmids parameter is already documented as 'omit for all running guests', which the description largely restates ('Without vmids, checks every running guest'). The one mild addition is the emphasis on running guests only, but it adds no new syntax or format meaning beyond the schema, so baseline 3 applies.

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 first sentence gives a specific verb set and resource: refresh package lists and report pending updates and reboot state. It is immediately distinguishable from apply_updates, which is named explicitly as the install-side sibling, so an agent can route between them without opening either schema.

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 states the when-to-use case ('use it to see what is pending, apply_updates to install') and the scope default ('Without vmids, checks every running guest'), plus conditional advice to suggest waiting when backup_running is true. Exclusions such as held packages and third-party repositories being skipped by apply_updates are spelled out rather than left to inference.

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