Skip to main content
Glama

Scene Viewport Snapshot

scene_viewport_snapshot
Read-onlyIdempotent

Capture the active Maya viewport exactly as the artist sees it, including HUD and selection highlights, to verify the current GUI view; headless sessions return a gui_session_required error.

Instructions

Capture the active viewport as an image (WYSIWYG).

Boundary: Disambiguated from scene_render_preview (playblast a frame from a chosen camera with the HUD suppressed) — scene_viewport_snapshot captures the panel exactly as the artist sees it, HUD included.

GUI sessions only - headless (mayapy/batch/native-channel) sessions get a structured gui_session_required error.

The capture is what the artist sees: viewport HUD, selection highlights and ornaments included. That is a feature - the agent verifies exactly what the user is looking at. A cmds.refresh(force=True) runs first so the frame is current.

Input Schema

NameRequiredDescriptionDefault
formatNo"jpeg" (default, small) or "png". png recommended for wireframe/line-art review.jpeg
qualityNoJPEG quality 1-100 (ignored for png).
max_sizeNoLongest-side pixel cap for the returned image (default 800 - keeps base64 well under client image token limits).
session_keyNoMaya session key.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.4/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: GUI-only requirement with the exact error type, an implicit cmds.refresh(force=True) before capture, and the deliberate inclusion of HUD/selection ornaments. Annotations already cover the read-only/idempotent safety profile, and the description adds the operative constraints rather than repeating them.

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?

Front-loaded with the core action, then boundary, constraint, and behavior in descending priority. Slight redundancy in restating WYSIWYG / 'what the artist sees' twice, but every block serves a distinct purpose.

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?

No output schema exists, yet the description plus schema make the return a base64 image clear, explain the size cap rationale, and cover environment prerequisites and the disambiguation an agent needs. Nothing needed to invoke it correctly 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% and the schema already explains format, quality, max_size and session_key in detail. The description contributes no additional parameter guidance, 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?

Opens with a specific verb+resource ('Capture the active viewport as an image') and then explicitly contrasts itself with the sibling scene_render_preview, defining what each does differently. An agent can select between the two without opening either 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?

States the selection condition against a named alternative (HUD included vs suppressed render preview) and gives a hard exclusion: headless sessions get a gui_session_required error. Both when-to-use and when-not-to-use are covered explicitly.

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