Skip to main content
Glama
robertobendi

WazziCode Godot

by robertobendi

editor_screenshot

Capture Godot editor viewport or running game frames. Choose 3D, 2D, cinematic camera, or game view, with optional camera framing and resolution control.

Instructions

Capture a screenshot of the Godot editor viewport or running game.

Picking a source: the default "viewport" captures the editor's 3D viewport, which is empty if the edited scene has no Node3D anywhere in the tree (or no scene is open). Those cases return EDITOR_NOT_READY with error.data = {editor_state: "viewport_not_3d", scene_root_type} and an actionable error.message — switch to "cinematic" if the scene has a Camera3D, or open a scene with 3D content.

Sources:

  • "viewport" (default): editor 3D viewport. Requires Node3D content in the edited scene (root or any descendant); see above for the no-3D-content / no-scene error shape.

  • "viewport_2d": editor 2D viewport. Use for 2D scenes. Not compatible with view_target/coverage/elevation/azimuth/fov.

  • "cinematic": render edited scene through its active Camera3D (no editor gizmos). Prefers a Camera3D marked current; falls back to the first Camera3D found in a depth-first walk. NODE_NOT_FOUND only when the scene contains no Camera3D at all.

  • "game": running game's framebuffer (only when project is running). A backgrounded/minimized game window freezes its main loop; the capture then returns the last rendered frame with stale_frame: true and a note in the metadata — focus the game window and retry for a current frame. GAME_HELPER_TIMEOUT means the game process never replied at all (nothing rendered yet, main thread blocked, or helper dead) — focus the window and retry, or use game_command to confirm liveness.

include_image=True (default) returns an MCP ImageContent block. view_target (comma-separated Node3D paths) reframes editor camera; AABB metadata always returned. coverage=True with view_target captures perspective + orthographic top-down references.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fovNoCamera FOV in degrees. Tight 20-30 = zoom; 60-75 = context.
sourceNo"viewport" | "viewport_2d" | "cinematic" | "game". Default "viewport".viewport
azimuthNoCamera azimuth in degrees (0=front, 90=right).
coverageNoWith view_target, capture two reference shots + AABB.
elevationNoCamera elevation in degrees (0=level, 90=overhead).
session_idNoOptional Godot session to target. Empty = active session.
view_targetNoNode3D scene path(s) to frame, comma-separated.
include_imageNoReturn image data. Default True.
max_resolutionNoLongest-edge resolution. Default 640. 0 = full res.
Behavior5/5

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

No annotations are provided, but the description compensates with extensive behavioral detail: the EDITOR_NOT_READY error shape, stale_frame flag for backgrounded game windows, GAME_HELPER_TIMEOUT meaning, and the guarantee that AABB metadata is always returned. It also discloses that include_image=True yields an MCP ImageContent block.

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 long but tightly packed with essential information, structured with a lead paragraph and a bullet-like source list. No filler sentences; each clause addresses a distinct scenario or parameter behavior, and the most important usage guidance is front-loaded.

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?

Given the tool's complexity (four sources, nine parameters, no annotations, no output schema), the description covers error states, metadata, source fallbacks, and parameter interplay, providing an agent with enough context to select and invoke the tool correctly. The only minor omission is an explicit description of the success response shape beyond the optional image block, but AABB metadata is covered.

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?

The input schema already covers all nine parameters, so the description's extra value is selective but meaningful. It enriches source semantics with per-source behavior and caveats (e.g., viewport_2d incompatibility with other parameters), clarifies view_target's camera reframing, and specifies the format for include_image. Some parameters like fov and azimuth receive no additional description, so a 4 rather than 5 is appropriate.

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 description opens with a specific verb-resource statement—'Capture a screenshot of the Godot editor viewport or running game'—and then enumerates four distinct sources. This clearly distinguishes the tool's purpose from sibling tools that manage scenes, projects, or cameras. No other sibling appears to provide screenshot functionality.

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?

It provides explicit source-selection guidance: viewport_2d is recommended for 2D scenes, viewport for 3D, cinematic for active Camera3D, and game for a running project. It also gives corrective advice for error states, e.g., 'switch to cinematic if the scene has a Camera3D, or open a scene with 3D content.'

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/robertobendi/wazzicode-godot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server