Skip to main content
Glama

set_camera

Create or update a camera for render_final, placing it by explicit coordinates or by framing named objects. Configure field of view, azimuth, elevation, and active status.

Instructions

Create or update a camera for render_final. Place it one of two ways. Explicit: location and look_at in world metres; on an existing camera, one of them keeps the other. Framed: frame is a list of object names (with children); the camera stands so their box fits the view. azimuth (degrees around Z: 0 looks from the front at -Y, 90 from +X; 35 when empty) and elevation (above the horizon; 20 when empty) set the side; margin is spare room (1.15 = 15%); look_at overrides the aim point. fov_deg is the vertical field of view and is applied on every call, so repeat it on updates. fov_deg=0 or an ortho_scale (metres across) makes it orthographic. roll_deg rolls about the view axis. make_active sets the scene camera. Returns the location, the forward vector and the projection. For a camera that matches a photo use match_camera.

Input Schema

NameRequiredDescriptionDefault
nameNocamera
frameNo
marginNo
azimuthNo
fov_degNo
look_atNo
locationNo
roll_degNo
elevationNo
make_activeNo
ortho_scaleNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations establish only the safety profile (readOnly=false, destructive=false, openWorld=false); the description adds the behavioral details that matter, notably that fov_deg is applied on every call and must be repeated on updates, that one of location/look_at is preserved on an existing camera, that frame includes children, that make_active sets the scene camera, and what the return payload contains.

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 core create/update statement and the two placement modes, and nearly every clause carries information. It is, however, a dense wall of semicolon-joined clauses with no visual separation, which makes it slower to scan than it needs to be for an 11-parameter tool.

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, and the description compensates by stating the return values (location, forward vector, projection). Combined with full parameter coverage and the update-semantics caveat, an agent has everything needed to call this correctly.

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 coverage is 0% and there are 11 parameters, so the description must carry the load — and it does, explaining location/look_at (world metres, override behavior), frame (object names with children), azimuth/elevation (units, reference axes, defaults), margin, fov_deg, ortho_scale, roll_deg, and make_active. Only 'name' is left implicit, which its obvious default justifies.

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 concrete verb+resource ('Create or update a camera for render_final') and immediately scopes it to its purpose, then distinguishes itself from the only relevant sibling by routing photo-matching to match_camera. An agent can tell what this does and what it is not without opening the 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?

Names the two mutually exclusive placement modes (Explicit via location/look_at vs Framed via frame) and the condition that selects each, gives defaults for the optional orientation inputs, and ends with an explicit alternative ('For a camera that matches a photo use match_camera'). When-to-use and when-to-use-something-else are both covered.

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