Skip to main content
Glama

get_printer_insights

Read-only

Query cross-printer learning insights for a specific printer, including success rates, failure modes, material statistics, and unresolved prints awaiting user-reported outcomes.

Instructions

Query cross-printer learning insights for a specific printer.

        Returns success rates, failure mode breakdown, and per-material
        statistics based on previously recorded outcomes — plus any
        UNRESOLVED prints: jobs that started (or ended) while no Kiln
        process was watching, whose outcome nobody has settled yet.

        **Agent contract for ``unresolved_prints``**: these entries are
        waiting on the one witness the machine can't replace — the
        user, who has the part.  When the moment is natural (not
        mid-task), ask casually ("Your ashtray finished while Kiln
        wasn't watching — did it come out OK?") and settle the answer
        via ``record_print_outcome(job_id=..., outcome=...,
        determined_by="user_reported")``.  Never guess an outcome on
        the user's behalf; an unresolved print stays out of all
        success-rate math until someone who knows answers.

        **Note**: Insights are advisory.  They do NOT override safety limits
        or preflight checks.

        Args:
            printer_name: The printer to get insights for.
            limit: Maximum recent outcomes to include (default 20).
        

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "printer_name": "<printer_name>"
    },
    "name": "get_printer_insights"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum recent outcomes to include (default 20). Default: 20.
printer_nameYesThe printer to get insights for.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.5.1
    • changedInput schema / properties / limit / description
      Previous value: -"Default: 20."New value: +"Maximum recent outcomes to include (default 20). Default: 20."
    • addedInput schema / properties / printer_name / description
      Added value: +"The printer to get insights for."
  2. Changed2 schema fields changedv1.5.0
    • removedInput schema / properties / limit / default
      Removed value: -20
    • addedInput schema / properties / limit / description
      Added value: +"Default: 20."
  3. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description still adds non-obvious behaviour: unresolved prints are excluded from all success-rate math until a human settles them, never guess an outcome, and insights never override safety limits or preflight. Those are real semantic rules an agent could not derive from the annotations or schema alone.

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?

The opening sentence is front-loaded and the body is broken into scannable paragraphs with bolded headings, so the agent contract is easy to find. Most sentences earn their place, but the trailing 'Args:' block duplicates the input schema verbatim and the contract paragraph is longer than it needs to be for two parameters.

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

Completeness5/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 the burden of describing returns and does so precisely: success rates, failure mode breakdown, per-material statistics, and the unresolved-prints list including what makes an entry unresolved. For a two-parameter read tool it leaves nothing an agent needs in order to call it or interpret the payload.

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% and both parameters are already documented there ('Maximum recent outcomes to include (default 20)', 'The printer to get insights for'). The Args block merely restates those strings word-for-word, adding no format, range, or naming-convention detail. Baseline 3 applies because the schema carries the full burden.

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 ('Query cross-printer learning insights for a specific printer') and enumerates what comes back: success rates, failure mode breakdown, per-material statistics, plus unresolved prints. That is far more concrete than a tautology. It stops short of a 5 because it never disambiguates against near-neighbours such as printer_stats, print_history, get_material_success_rates, or get_print_learning_summary, so an agent must infer the boundary itself.

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?

Positions the tool as advisory-only ('do NOT override safety limits or preflight checks') and gives explicit when/when-not guidance for the unresolved-prints portion: ask the user when the moment is natural, explicitly not mid-task, and settle via record_print_outcome with determined_by='user_reported'. Missing is any statement of when to reach for this instead of sibling analytics tools, so it is clear context without exclusion rules.

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