Skip to main content
Glama

capture_viewport

Destructive

Take a PNG screenshot of the active Unreal Editor viewport, forcing a fresh draw, with optional resizing or inline base64. Use it to show visual proof to a human, not to diagnose scene state.

Instructions

Screenshot the active editor viewport to a PNG (forcing a fresh draw first), optionally resized and optionally returned inline as base64. Use it to SHOW a result -- proof that something looks right, an image to hand to a human. Do NOT use it to diagnose: an image costs far more context than a command and is read far less reliably than one, so for "is the actor there / did the value change / did it move" prefer get_actor_bounds, get_component_properties, raycast_scene or a property read, which answer exactly and cheaply. Captures the EDITOR viewport, not a PIE window; high_res_screenshot is the higher-resolution sibling.

Returns: { file_path: string, width: int, height: int, byte_size: int, image_base64: string, image_format: string }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNoOptional target width to downscale/upscale to (omit to keep native viewport size).
heightNoOptional target height (only used when width is also supplied).
filenameNoOptional output filename (default MCP_Capture_<timestamp>.png); ".png" extension is added if missing.
return_base64Nobool, also include image_base64 + image_format in the response (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and non-idempotent, so the safety profile is partly covered; the description adds real behavioral context by disclosing the forced fresh draw, the editor-vs-PIE capture scope, and the optional inline base64 return. It does not address file-overwrite behavior when the same filename is reused, which is the main destructive surface implied by the annotations.

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 action and the capture target, then the routing rule, then the return shape. It is dense but every sentence carries load; the mid-sentence parentheticals and quoted probe questions make it slightly longer than strictly necessary.

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, but the description supplies the return shape ({ file_path, width, height, byte_size, image_base64, image_format }) plus the capture scope and fresh-draw behavior, and all four parameters are already covered by the schema. 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%, so the baseline is 3; the schema already documents width/height downscaling, the filename default, and the return_base64 flag. The description only restates 'optionally resized and optionally returned inline as base64' without adding syntax, constraints, or format details beyond the schema.

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 ('Screenshot the active editor viewport to a PNG') and immediately scopes it against siblings by naming high_res_screenshot as the higher-resolution alternative and clarifying it captures the EDITOR viewport, not a PIE window. An agent can distinguish it from capture_pie_state/capture_pie_screenshot without opening any 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?

Gives an explicit when-to-use ('Use it to SHOW a result -- proof that something looks right, an image to hand to a human') and an explicit when-NOT ('Do NOT use it to diagnose'), with the reason (context cost, unreliable reading) and four named cheaper alternatives (get_actor_bounds, get_component_properties, raycast_scene, a property read). This is textbook routing guidance.

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