Skip to main content
Glama

Screenshot a scene or model

godot_screenshot
Idempotent

Render a scene or .glb/.gltf model to PNG from set camera views, with view-coverage text so you can spot empty or off-screen pictures and inspect what you built.

Instructions

Render a scene, or a .glb/.gltf model framed by a camera and lit, to a PNG with Godot 4.7 (Compatibility renderer, works on software OpenGL; on Linux without a display it uses xvfb-run). Returns the picture and a short text: how much of each view is drawn and where, so you can tell an empty or off-screen picture even without reading the image. For a model, views front (from +Z, where models face), back, side, top and iso; several make a grid. width and height are per view; frames lets the scene settle before the picture. The PNG is written next to the model (car.glb gives car.png) or, for a scene, to .godot/godotwright/screenshot.png. An error result when Godot is missing or the scene cannot run. Use it to look at what you built. Without Godot, godot_model_view shows a model as text; to check behaviour rather than looks, use godot_play.

Input Schema

NameRequiredDescriptionDefault
pathNoThe project folder, or any file or folder inside it (Godotwright walks up to project.godot). Relative paths start at the server's folder. Default: the current project.
modelNoa .glb or .gltf file to look at instead of a scene
sceneNothe res:// scene to render (default: the main scene)
viewsNocamera views for a model or a 3D scene without a camera (default [iso])
widthNowidth of one view (default 640)
framesNoframes to run before the picture (default 10)
heightNoheight of one view (default 360)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.1
    • changedInput schema / properties / path / description
      Previous value: -"Project directory or a path inside it (default: the current project)."New value: +"The project folder, or any file or folder inside it (Godotwright walks up to project.godot). Relative paths start at the server's folder. Default: the current project."
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Goes well past the annotations by disclosing the renderer (Godot 4.7 Compatibility, software OpenGL), the xvfb-run fallback on headless Linux, the exact output paths written (.godot/godotwright/screenshot.png, or car.png beside car.glb), and the fact that a coverage-metadata text accompanies the image so empty or off-screen renders are detectable. The filesystem write is consistent with readOnlyHint=false, and the idempotent/non-destructive profile is implicitly supported by the deterministic per-view semantics.

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?

Dense and front-loaded — capability, then inputs, then output behaviour, then alternatives. A few sentences are fragments ("An error result when Godot is missing or the scene cannot run.") and the output-path sentence is slightly buried, but essentially no padding.

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?

With no output schema, the description still explains both return components (the PNG and the coverage text) and where the file lands, plus failure mode. For a 7-parameter tool with zero required params, that is enough for an agent to call it correctly on the first attempt.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: width/height are per-view (matters when several views grid up), frames is for letting the scene settle, and multiple views compose a grid. It doesn't define the view directions in param terms beyond 'front (from +Z, where models face)', which is still useful orientation context.

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?

The opening sentence gives a specific verb and resource — render a scene or .glb/.gltf model to a PNG — plus the engine and renderer used. It clearly separates the two input modes (scene vs. model) and is distinguishable from siblings like godot_model_view and godot_play.

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?

Explicitly states the primary use ("Use it to look at what you built") and names two alternatives with the conditions that select them: godot_model_view when Godot is unavailable, godot_play when behaviour rather than looks matters. Both when-to-use and when-not-to-use are covered.

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