Skip to main content
Glama

apt_upgrade

Install pending apt updates on Linux hosts noninteractively with a dry-run plan, rolling batches, optional reboot, and Docker restart safeguards.

Instructions

Install pending apt updates on hosts (noninteractive, keeps existing config files). Shows what will be upgraded; warns when docker/containerd are in the list (remnanode restarts). Optional reboot afterwards when the kernel asks for it. Rolling, batch 1 by default.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
applyNofalse (default) = dry run: show what will happen on which hosts and a planHash. true = run it; needs planHash
batchNohosts at a time (rolling). Default depends on the action: 1 for disruptive ones
targetNohosts: all | <host> | <glob nl-*> | <group> | role:<edge|remnanode|panel|docker> | tag:<tag>; comma-separated, !x excludesall
planHashNoplanHash from the dry run of the very same call, good for one apply; refused if targets or their state changed since
skipDockerNohold docker-ce/containerd back: their upgrade restarts every container (remnanode — clients reconnect); do them off-peak
distUpgradeNoapt-get dist-upgrade (may add/remove packages, e.g. new kernels)
securityOnlyNoonly packages from *-security
includeKernelNoalso kernel and GPU-driver packages (linux-image/modules/headers, nvidia) — they only take effect after a reboot
continueOnErrorNokeep going after a host fails (default: stop the rollout at the first failure)
skipUnreachableNoskip hosts that do not answer over ssh instead of refusing the whole plan (they show as skipped)
rebootIfRequiredNoreboot afterwards when /var/run/reboot-required appears (waits for the host to return)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose non-schema behavior: noninteractive execution, preservation of existing config files, and the fact that docker/containerd upgrades restart remnanode (clients reconnect). It stops short of covering failure-handling semantics, permissions, or what the response contains.

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?

Four compact sentences, front-loaded with the core action and safe to skim; each sentence adds a distinct fact (mode, docker risk, reboot, batching). Minor overlap with schema defaults keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with no output schema and no annotations, the description gives a solid high-level picture of the operation, its disruptive side effects, and the reboot follow-up. The dry-run/planHash two-phase workflow and the shape of results are only touched on, leaving a small gap.

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 all 11 parameters are already documented in the schema; the description's mentions of batch default and the docker warning merely echo what the schema says. Baseline 3 is correct when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("Install pending apt updates on hosts") and immediately qualifies the operating mode (noninteractive, keeps existing config files), so an agent knows exactly what operation this performs. It does not explicitly distinguish itself from neighbors like updates_policy or remnanode_update, so it stops short of a 5.

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

Usage Guidelines3/5

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

Usage context is only implied: the dry-run-then-apply flow, the docker/containerd warning, and the optional reboot tell the agent roughly when to reach for this, but no alternative tool is named and there is no explicit when-not guidance. Adequate but leaves routing to inference.

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