Skip to main content
Glama

publish_print_twin

Upload the current print's sliced file to the Kiln web Monitor so it can display the object and let you scrub through its layers while printing.

Instructions

Upload the current print's sliced file so the web Monitor can show the object and scrub its layers.

        The web Monitor at kiln3d.com calls this through the Kiln bridge
        while a print is running; there is normally no reason to call it
        by hand.  It reads the engine's own retained copy of the file it
        last sent to the printer (kept per printer under
        ``~/.kiln/monitor_twin``), uploads it — gzipped — to YOUR Kiln
        account, and returns a short-lived artifact token the browser
        uses to fetch the mesh and toolpath.  Nothing is uploaded except
        by this explicit call, and nothing crosses tenants: the token is
        IDOR-checked against your own account on every fetch.

        Honest refusals: prints Kiln did not slice on this machine (a
        pre-sliced upload, a job started at the printer's screen) have
        no retained file, and the response says so rather than guessing.

        Args:
            printer_name: Which printer's active print to publish.  Omit
                for the machine's single/default printer.

        Returns:
            ``{"success": True, "artifact_token", "stl_url"|null,
            "gcode_url"|null, "file_name", "expires_in"}`` on success;
            ``{"success": False, "code", "message"}`` otherwise.
        

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

Input Schema

NameRequiredDescriptionDefault
printer_nameNoWhich printer's active print to publish. Omit for the machine's single/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: +"Which printer's active print to publish.  Omit for the machine's single/default printer."
  2. Changed1 schema field changedv1.5.0
    • removedInput schema / properties / printer_name / default
      Removed value: -null
  3. Addedv1.3.1

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations, it discloses where the file comes from (~/.kiln/monitor_twin, the engine's retained copy), that the upload is gzipped to the caller's own account, that the returned artifact token is short-lived and IDOR-checked per tenant on every fetch, and that nothing is uploaded except by this explicit call. It also documents the honest-refusal path for prints Kiln did not slice locally, which is exactly the kind of failure mode an agent needs.

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 critical scope and the 'no reason to call by hand' caution are front-loaded, and the privacy/refusal details earn their space. It is somewhat verbose for a one-parameter tool, with an Args block that duplicates the schema and an indented prose style that adds no structural value.

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?

There is no output schema, so the Returns section is necessary and well specified (success payload fields and the failure shape with code/message). Combined with the privacy and refusal notes, an agent has what it needs; only minor gaps remain, such as token lifetime magnitude or what a null stl_url/gcode_url implies.

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 single parameter's meaning (which printer's active print; omit for the default printer) is already in the schema. The Args section restates it verbatim, adding no new semantics such as aliases or validation behavior, 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?

The opening sentence names a specific verb (upload), a specific resource (the current print's sliced file), and the consumer (the web Monitor, for showing the object and scrubbing layers). That reads clearly against neighbors such as monitor_print, webcam_stream, or kiln_viewer_payload.

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?

It states the operative context ('the web Monitor ... calls this through the Kiln bridge while a print is running') and an explicit when-not-to-use ('there is normally no reason to call it by hand'). It does not name a sibling alternative for the manual case, so it falls just short of a 5.

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