Skip to main content
Glama

server_packages

Manage apt, dnf, or apk system packages automatically. Preview updates, installs, removals, and upgrades, and run long operations as background jobs.

Instructions

Manage system packages (apt, dnf or apk, found automatically).

action: list_updates and search are read only. update (refresh lists), install, remove and upgrade show a preview first. packages is a space separated list. background=true starts it as a background job and returns a job id at once. Use it for upgrade and install, which can take minutes. Check it with server_job.

Input Schema

NameRequiredDescriptionDefault
hostNo
actionYes
confirmNo
packagesNo
backgroundNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/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 well: it discloses that update/install/remove/upgrade show a preview first, that background mode returns a job id immediately, and where to poll that job. The notable gap is that it never explains what `confirm` does or what happens on the second call after a preview, which is central to a destructive operation's safety model.

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?

Front-loaded with the purpose, then action semantics, then the background-job caveat — a sensible ordering for an agent skimming. Nearly every clause earns its place; the only slack is that the action list is compressed into a run-on sentence rather than clearly separated.

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?

An output schema exists, so return values needn't be described, and the background/job-id workflow is covered. For a mutating package-management tool with zero annotations, however, the unexplained `confirm` flow and absent mention of privilege requirements leave a real safety 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 coverage is 0%, so the description must compensate. It defines `packages` as a space separated list and explains `background` (returns a job id immediately) thoroughly, but leaves `host` and — more importantly — `confirm` completely undescribed, even though `confirm` is the gate between preview and actual package mutation.

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 ('Manage system packages') plus the concrete package managers it auto-detects, and enumerates the actions (list_updates, search, update, install, remove, upgrade). Nothing in the sibling list overlaps with package management, so an agent can route here unambiguously.

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

Usage Guidelines4/5

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

Gives explicit selection guidance inside the tool: which actions are read-only, which are preview-then-apply, and when to set background=true ('Use it for upgrade and install, which can take minutes'), with a pointer to server_job for checking. It does not state when to prefer this over adjacent tools like server_run or server_service, so it stops short of full when/when-not guidance.

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