Skip to main content
Glama

capture_viewport

Save a screenshot of the O3DE editor viewport to a specified file path. Handles UI overlays via PySide6 and falls back to raw frame capture where PySide6 is unavailable.

Instructions

Capture a screenshot of the editor viewport.

Tries PySide6 widget grab first (captures the viewport widget including UI overlays). Falls back to azlmbr.atom FrameCaptureRequestBus.CaptureScreenshot which captures the actual rendered frame and works on platforms where PySide6 is not importable in the editor's embedded interpreter.

Args: output_path: File path for the screenshot (.png, .jpg, .jpeg, .bmp, or .tga). width: Optional width to scale the screenshot to (PySide6 path only). height: Optional height to scale the screenshot to (PySide6 path only).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNo
heightNo
output_pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It transparently explains the two capture mechanisms, that PySide6 includes UI overlays while the fallback captures the rendered frame, and that width/height only apply to the PySide6 path. It does not mention file-overwrite behavior or error handling, but the disclosed fallback behavior is substantial.

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?

The description is compact and well-structured: a clear purpose sentence, a behavior paragraph explaining the fallback logic, and a scannable Args list. Every sentence earns its place, with no fluff or repetition.

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?

An output schema exists, so return values are covered elsewhere. The description covers purpose, capture mechanisms, platform compatibility, and parameter semantics well. Minor gaps like explicit alternative-tool routing and overwrite/error behavior prevent a perfect score, but overall it is complete for a 3-parameter screenshot tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, leaving the description to explain all parameters. The Args block does this thoroughly: output_path includes supported extensions, and width/height are marked optional and limited to the PySide6 path. This adds significant meaning beyond the bare schema.

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?

The opening sentence 'Capture a screenshot of the editor viewport' names a specific verb and resource, making the tool's purpose immediately clear. It does not explicitly differentiate from sibling tools like capture_renderdoc_frame, so it falls short of a 5 on sibling distinction.

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

Usage Guidelines3/5

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

The description implies the tool should be used when a viewport screenshot is needed and mentions the fallback works on platforms without PySide6, providing some context. However, it never explicitly states when to prefer this tool over alternatives or which sibling tools are relevant, so guidance is mostly implied.

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