Skip to main content
Glama

counterpart_print_record

Read-onlyIdempotent

Read a bounded, persistent per-job record from disk to inspect hashes, mapping, report changes, layer geometry, and camera evidence after restart without printer connection or controls.

Instructions

Counterpart contract (counterpart/1): read a bounded persistent per-job flight record from disk, including dispatched SHA-256, selected mapping, timestamped allowlisted printer-report changes, expected sliced layer geometry and sampled camera evidence. Survives restart. No printer connection, polling or controls. Firmware FINISH is separate from physical unknown/consistent/suspect_no_growth/suspect_no_extrusion. Inspect pending visual assessment requests with the client worker; clear empty-footprint observations can flag no extrusion without an empty-bed reference. Missing history is unavailable, never fetched from the printer.

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

Input Schema

NameRequiredDescriptionDefault
hostNoSaved printer hostname or address; used only to select a local record.
viewNoFull journal (default), or compact vision evidence with omission counts. Image format defaults to evidence view to avoid sending a large journal to the worker.
job_idNoSaved record UUID; omit for the latest dispatched job on this printer.
frame_idsNoAt most four saved frame IDs to retrieve; defaults to the pending assessment and baseline candidates, or recent evidence.
list_jobsNoInclude the retained job IDs, dispatch times, artifact hashes and outcomes for this printer, so an older job can be selected.
bambu_serialNoSaved Bambu printer serial; used only to select a local record.
frame_formatNoReturn requested JPEGs once as structured base64 (default) or normal MCP image content for a vision worker.
measurementsNoOptional calibrated client height measurements for saved frames; no image interpretation or printer control is performed.
include_framesNoInclude up to four saved JPEGs (512 KiB each). Reads disk only.

Output Schema

NameRequiredDescriptionDefault
jobsNo
recordNo
statusYes
contractYes
physicalYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.93

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the record survives restart, it is disk-only with no printer contact, missing history is reported as unavailable rather than fetched, and firmware FINISH is explicitly separated from physical states (unknown/consistent/suspect_no_growth/suspect_no_extrusion). That is meaningful context an agent could not derive from the annotations.

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 purpose is front-loaded in the first sentence, which is good, but the remainder is a dense run of jargon-heavy clauses ('timestamped allowlisted printer-report changes', 'suspect_no_growth/suspect_no_extrusion') that are hard to parse in one pass. Little is outright wasted, but the structure could be broken up for readability.

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?

With an output schema present, rich annotations, and full schema coverage, the description only needs to supply behavioral and scoping context, which it largely does (disk-only, restart-surviving, unavailable-vs-fetched semantics, state taxonomy). It is close to complete for a read-only record tool; only explicit sibling routing is missing.

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 the schema already documents all nine parameters, including the view/frame_format defaults and the measurements object. The description adds little parameter-level meaning beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('read a bounded persistent per-job flight record from disk') and enumerates the record's contents (dispatched SHA-256, selected mapping, timestamped report changes, sliced layer geometry, camera evidence). This is clearly distinguishable from siblings like counterpart_print_assess or counterpart_print_progress, which act on the printer rather than reading a local journal.

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?

The description implies usage ('Inspect pending visual assessment requests with the client worker') and draws hard boundaries ('No printer connection, polling or controls'; 'Missing history is unavailable, never fetched from the printer'), which helps an agent understand what this tool is not. However, it never explicitly says when to choose this over counterpart_print_assess or counterpart_print_progress, leaving the routing decision to inference.

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