Skip to main content
Glama

capture_screenshot

Capture the current Houdini Scene Viewer as PNG pixels with JSON metadata, using viewport or OpenGL ROP, for scene inspection, review, or sharing.

Instructions

Capture the current Scene Viewer and return the pixels in-band.

source='viewport' is a flipbook snapshot of the current Hydra buffer
(does not wait for Karma XPU to converge; restores renderer pause).
source='opengl' uses an OpenGL ROP (OBJ-centric beauty).
For a full desktop/UI grab, use capture_desktop (runs outside houdini-bin).

Returns JSON metadata plus an MCP image of the PNG. Path is still in the JSON.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceNoviewport
viewerNo
output_pathNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that 'viewport' does not wait for Karma XPU to converge and restores renderer pause, that 'opengl' is OBJ-centric beauty, and that capture_desktop runs outside houdini-bin. It does not state permission requirements or what happens when output_path is omitted or unwritable, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action, then uses short line-per-mode structure with zero filler. Every sentence either describes a mode, an alternative, or the return shape.

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?

No output schema exists, and the description compensates by stating the return contract ('JSON metadata plus an MCP image of the PNG. Path is still in the JSON'). Combined with the mode semantics and the desktop alternative, an agent has enough to call it, though the unaddressed 'viewer' and 'output_path' parameters leave a small gap.

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 0%, so the description must compensate, and it only partially does: 'source' values are explained, but 'viewer' is never mentioned and 'output_path' is only hinted at ('Path is still in the JSON') without saying whether it writes a file or where defaults land. Two of three parameters remain semantically opaque.

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 ('Capture the current Scene Viewer and return the pixels in-band') and immediately differentiates its two operating modes. It also names the sibling it is not (capture_desktop) for desktop/UI grabs, so an agent can route correctly without opening schemas.

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 explicit selection criteria for each source value ('viewport' = flipbook snapshot of current Hydra buffer, 'opengl' = OpenGL ROP OBJ-centric beauty) and an explicit alternative with its own precondition for the desktop case. The when-to-use branching is fully spelled out.

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