Skip to main content
Glama

doctor

Run a read-only diagnosis of homelab servers to detect resource pressure, stopped containers, exposed ports, backup hygiene issues, and notification problems, then report baseline readiness.

Instructions

Run a read-only diagnosis for resource pressure, stopped containers, public ports, backup hygiene, notifications, and report baseline readiness

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serverNoRemote server name from config (optional, runs locally if omitted)
backup_max_age_hoursNoWarn when the latest backup is older than this many hours (default: 168)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.41.0
    • changedInput schema / properties / backup_max_age_hours / type
      Previous value: -"number"New value: +"integer"
  2. Addedv0.19.0

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the key safety trait: "read-only". It also scopes the work to specific check categories. However it says nothing about runtime, permissions required, or side effects (e.g., does the notification check send anything?), which matters for a multi-system diagnostic.

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?

A single front-loaded sentence with dense, non-redundant enumeration — each list item corresponds to a real check category. No filler, though the run-on list of six items is slightly dense rather than cleanly structured.

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

Completeness3/5

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

For a diagnostic tool with no output schema and no annotations, the description tells the agent what is inspected but nothing about the shape of the results — warnings vs pass/fail, per-check vs summary, or the baseline-readiness verdict. It is adequate but leaves the return semantics to inference.

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 both parameters are already documented, setting the baseline at 3. The description adds only an indirect link between the '"backup hygiene"' check and the backup_max_age_hours threshold; it contributes no format or default detail beyond the schema.

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 ("Run a read-only diagnosis") and enumerates exactly what it inspects: resource pressure, stopped containers, public ports, backup hygiene, notifications, baseline readiness. An agent can tell it is an aggregate health-check distinct from atomic siblings like docker_stats or open_ports. It stops short of naming a sibling it is not, so not 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 Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative routing. The agent is not told how this differs in practice from report, system_status, or config_validate, all of which sit in the sibling list. It only implies a broad check implicitly through the enumerated scope.

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