Skip to main content
Glama

failure_history

Read-only

Retrieve printer failure records filtered by printer name or failure type to diagnose recurring issues and see full match counts when results are truncated.

Instructions

View failure history for a printer or failure type.

        Args:
            printer_name: Filter by printer name.
            failure_type: Filter by failure type.
            limit: Maximum records to return (default 20).

        The response declares its own SCOPE: these are the failures
        THIS machine recorded, and ``scope.local.total_records``
        gives the store's full matching count when ``limit``
        truncated the page.
        

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

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum records to return (default 20). Default: 20.
failure_typeNoFilter by failure type.
printer_nameNoFilter by printer name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.5.1
    • addedInput schema / properties / failure_type / description
      Added value: +"Filter by failure type."
    • changedInput schema / properties / limit / description
      Previous value: -"Default: 20."New value: +"Maximum records to return (default 20). Default: 20."
    • addedInput schema / properties / printer_name / description
      Added value: +"Filter by printer name."
  2. Changed4 schema fields changedv1.5.0
    • removedInput schema / properties / failure_type / default
      Removed value: -null
    • removedInput schema / properties / limit / default
      Removed value: -20
    • addedInput schema / properties / limit / description
      Added value: +"Default: 20."
    • removedInput schema / properties / printer_name / default
      Removed value: -null
  3. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds real value by disclosing that results are local-machine-scoped and that scope.local.total_records reveals the full matching count when limit truncates the page. However, the phrasing 'The response declares its own SCOPE' is meta-commentary about the response payload rather than a clear statement of ordering, record contents, or what a null filter returns, so the disclosure is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is front-loaded and efficient, but the Args block duplicates the input schema verbatim and the SCOPE paragraph is framed awkwardly around a payload key rather than in plain prose. Roughly a third of the text is redundant with structured fields.

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?

With no output schema, the description carries some of the return-value burden and does explain the truncation/count mechanic, which is useful. It stops short of describing record contents, ordering (e.g. most recent first), or whether an empty filter returns all failures, which an agent needs to call this correctly.

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 100% and the description's Args block simply restates the schema text for limit, printer_name, and failure_type with no added syntax, format, or matching semantics (e.g. exact vs partial match, case sensitivity, behavior when both filters are null). Baseline 3 applies because the schema does the documentation work.

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 specific verb and resource ('View failure history') plus the two filter dimensions (printer or failure type), so the agent knows what it retrieves. It never names or contrasts with adjacent history tools such as print_history, job_history, or list_manual_history, so differentiation relies on the name alone.

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?

No when-to-use or when-not-to-use guidance is given, and no alternative tool is named despite a crowded field of history/diagnostic siblings (print_history, job_history, analyze_print_failure, diagnose_print_failure_live). The agent must infer that this is the failure-only slice rather than being told.

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