Skip to main content
Glama

save_and_show_preview

Save a JPEG preview of a PixInsight view and return its file path. Optionally crop, downsample, or bake an STF stretch into the image.

Instructions

Alias for save_preview. Save a JPEG preview of a view and return the file path.

Input Schema

NameRequiredDescriptionDefault
cropNoRegion [x0, y0, x1, y1] of the view in pixels (x1, y1 exclusive); the whole view when omitted
labelYesShort label for this preview (e.g. "after_stretch", "final")
stf_mNoBake a linked STF with this midtones balance (0 < m < 1) into the JPEG; needs stf_c0
stf_c0NoShadows clipping point of the linked STF given with stf_m (0 <= c0 < 1)
view_idYesPixInsight view ID
stf_fromNoBake this view's STF (its display stretch) into the JPEG; the view may be view_id itself. Several previews given the same stf_from are stretched identically
downsampleNoDivide width and height by this factor (>= 1). Omitted: the preview is scaled down to at most 2048 px on its longer side

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv2.4.1
    • addedInput schema / properties / crop
      Added value: +{
      +  "description": "Region [x0, y0, x1, y1] of the view in pixels (x1, y1 exclusive); the whole view when omitted",
      +  "items": {
      +    "type": "number"
      +  },
      +  "maxItems": 4,
      +  "minItems": 4,
      +  "type": "array"
      +}
    • addedInput schema / properties / downsample
      Added value: +{
      +  "description": "Divide width and height by this factor (>= 1). Omitted: the preview is scaled down to at most 2048 px on its longer side",
      +  "type": "number"
      +}
    • addedInput schema / properties / stf_c0
      Added value: +{
      +  "description": "Shadows clipping point of the linked STF given with stf_m (0 <= c0 < 1)",
      +  "type": "number"
      +}
    • addedInput schema / properties / stf_from
      Added value: +{
      +  "description": "Bake this view's STF (its display stretch) into the JPEG; the view may be view_id itself. Several previews given the same stf_from are stretched identically",
      +  "type": "string"
      +}
    • addedInput schema / properties / stf_m
      Added value: +{
      +  "description": "Bake a linked STF with this midtones balance (0 < m < 1) into the JPEG; needs stf_c0",
      +  "type": "number"
      +}
  2. First observedv2.1.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses only that the tool returns a file path; nothing is said about where files are written, whether existing previews are overwritten, or what side effects occur. For a save/write operation with zero annotation coverage, this is a substantial gap.

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?

Two short sentences, front-loaded with the alias relationship before the action. No wasted words; it is appropriately sized for what it conveys, though it is arguably too terse given the tool's complexity.

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

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation tool with no annotations and no output schema, the description omits the save semantics (destination, overwrite behavior) that the agent most needs. The fully documented schema compensates for the parameters, but the writing/aliasing behavior around save_preview remains unexplained.

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 all seven parameters (crop, stf_m, stf_c0, stf_from, downsample, view_id, label) are already documented in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

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 ("Save a JPEG preview of a view") and explicitly identifies itself as an alias of save_preview, so an agent knows what it does. It does not explain how it differs from save_preview beyond being an alias, but the core action is unambiguous.

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?

The description gives no when-to-use guidance, no prerequisites, and no condition for choosing this over the sibling save_preview. Calling it an "alias" implies equivalence but leaves the agent to infer whether either tool is preferred.

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