Skip to main content
Glama

get_material

Read-only

Retrieve the material currently recorded as loaded in a printer from Kiln's software tracker; omit printer name to query the default printer.

Instructions

Get material loaded in a printer (from Kiln's software tracker).

Returns what the user/agent told Kiln is loaded via ``set_material``.
For live AMS hardware reading (Bambu Lab), use ``get_active_material``.

Args:
    printer_name: Target printer.  Omit for the default 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": "get_material"
  }
}

Input Schema

NameRequiredDescriptionDefault
printer_nameNoTarget printer. Omit for the default printer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.1
    • addedInput schema / properties / printer_name / description
      Added value: +"Target printer.  Omit for the default printer."
  2. Changed1 schema field changedv1.5.0
    • removedInput schema / properties / printer_name / default
      Removed value: -null
  3. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the description is not required to explain safety. It still adds real behavioral context the annotations don't carry: the returned value is user/agent-declared state from the tracker rather than a hardware reading, which tells the agent the data may be stale. It stops short of saying what is returned when nothing has been set.

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 key facts are front-loaded: what it returns, where the data comes from, and which sibling to use instead. The trailing Args block is redundant against a fully documented schema and is the only wasted space.

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?

For a single optional-parameter read tool with no output schema, the description covers source of truth, the hardware-reading alternative, and the default-printer behavior. The only material gap is the empty/unset case, which is a minor omission given the tool's simplicity.

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 the Args block reproduces the schema's parameter description verbatim ('Target printer. Omit for the default printer.'). It adds no new meaning beyond what structured data already provides, so the baseline 3 applies.

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 ('get material loaded in a printer') plus the provenance ('from Kiln's software tracker'), and explicitly distinguishes itself from the two most confusable siblings, set_material (the writer) and get_active_material (live hardware). An agent can place this tool precisely without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Gives an explicit alternative and the condition that selects it: use get_active_material for live AMS hardware reads on Bambu Lab. It also implies the complement of set_material as the source of truth. Nothing is left to inference about when this tool is the right choice.

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