Skip to main content
Glama

maintenance_due

Read-only

Identify which parts are due for maintenance on which machines, returning one worst-first list across mixed makes.

Instructions

Which parts are due on which machines -- one list, worst first, across mixed makes.

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": "maintenance_due"
  }
}

Input Schema

NameRequiredDescriptionDefault
partsNoThe parts to check, by name (``cutter``, ``nozzle``). Omitted, every part Kiln tracks; an unknown part is refused with ``VALIDATION_ERROR``.
printer_namesNoThe machines to sweep, by registered name. Omitted, every registered machine (on Kiln's servers, every machine you have records for). Sweeping more than one machine at once is a fleet feature; a single-machine account is refused and told so.
recent_faultsNoEach machine's recent cutter fault codes, a dict from machine name to a list of ``{"code", "at"}`` dicts, filled in by the caller's own Kiln. Omitted, Kiln reads its local event log (nothing on the hosted server).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.5.1
    • addedInput schema / properties / parts / description
      Added value: +"The parts to check, by name (``cutter``, ``nozzle``).  Omitted, every part Kiln tracks; an unknown part is refused with ``VALIDATION_ERROR``."
    • addedInput schema / properties / printer_names / description
      Added value: +"The machines to sweep, by registered name. Omitted, every registered machine (on Kiln's servers, every machine you have records for).  Sweeping more than one machine at once is a fleet feature; a single-machine account is refused and told so."
    • addedInput schema / properties / recent_faults / description
      Added value: +"Each machine's recent cutter fault codes, a dict from machine name to a list of ``{\"code\", \"at\"}`` dicts, filled in by the caller's own Kiln.  Omitted, Kiln reads its local event log (nothing on the hosted server)."
  2. Addedv1.5.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly=true, destructive=false, openWorld=false, so the safety profile is covered. The description adds genuine value by disclosing the return shape — a single merged list ordered worst-first — but never explains how 'due'/'worst' is computed or what the account-tier and fault-data constraints mean for output coverage (those live only in the schema).

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?

One dense sentence with the aggregated, prioritized result front-loaded and zero filler. Its brevity borders on cryptic ('worst first' is unexpanded), but every clause carries information.

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 zero-required-param, nested-object, fleet-scoped tool with no output schema, the description should say more about what the list contains and how dues are ranked. The schema covers parameter semantics and the annotations cover safety, so what remains missing is mostly output semantics.

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 parts, printer_names, and recent_faults are already fully documented including defaults and validation-error behavior. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

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?

The description states a concrete query outcome — which parts are due on which machines, returned as one prioritized list across mixed makes — which is more specific than the bare tool name. It doesn't name a sibling (e.g. get_maintenance_prediction or cutter_wear_status) to contrast with, so the distinction is only implicit.

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?

'Across mixed makes' hints this is the fleet-wide rollup rather than a single-machine wear check, but no explicit when-to-use rule, prerequisite, or alternative tool is named. An agent must infer that this is the aggregate view over per-machine wear tools.

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

Deploy Server

Other Tools