Skip to main content
Glama

report

Destructive

Generate a homelab health summary with snapshot comparisons, warnings, notable changes, and suggested actions; optionally preview without saving a new snapshot.

Instructions

Generate a butler-style health report with snapshot comparison, warnings, notable changes, and suggested actions. It saves a snapshot unless no_save is set, which moves the window every later comparison is measured from — so a loop that calls this leaves nothing to compare against

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "report"
  }
}

Input Schema

NameRequiredDescriptionDefault
keepNoNumber of snapshots to retain (default: 30)
serverNoRemote server name from config (optional, runs locally if omitted; inside a container a local call is refused, because a container cannot see the machine it is on)
no_saveNoPreview without writing a snapshot

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.8.0
    • changedInput schema / properties / server / description
      Previous value: -"Remote server name from config (optional, runs locally if omitted)"New value: +"Remote server name from config (optional, runs locally if omitted; inside a container a local call is refused, because a container cannot see the machine it is on)"
  2. Changed1 schema field changedv0.41.0
    • changedInput schema / properties / keep / type
      Previous value: -"number"New value: +"integer"
  3. Addedv0.18.1

TDQS

A4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true, and the description earns that by explaining exactly what happens on a normal call: a snapshot is written and the comparison window advances for all future calls. This is meaningful side-effect disclosure beyond the annotations. It stops short of stating retention/rotation behavior (the 'keep' cap) in prose.

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?

Two sentences, front-loaded with purpose then the critical side effect; nothing is wasted. The second sentence is a long dash-clause chain that takes a second read, but every clause carries information.

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 a three-optional-parameter tool with no output schema, the description covers purpose, side effects, and the loop hazard, and the safety profile is carried by annotations. It could have sketched the report's shape or snapshot retention, but nothing needed to call 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; the description goes beyond the schema's terse 'Preview without writing a snapshot' by describing the downstream consequence of omitting no_save. The keep and server parameters are left to their schema text, but those are already well documented there.

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 and resource ('Generate a ... health report') and enumerates the payload (snapshot comparison, warnings, notable changes, suggested actions), so an agent knows what comes back. It does not differentiate itself from potentially overlapping siblings like 'doctor' or 'alerts', and 'butler-style' is unexplained jargon.

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 real conditional guidance: it saves a snapshot unless no_save is set, and it explicitly warns that calling it in a loop destroys the comparison baseline. That is a concrete when-not-to pattern, though it never names an alternative tool for read-only health inspection.

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