Skip to main content
Glama

add_light

Create or update a single scene light with position, power, color, and shadow settings; updating a name modifies that existing light instead of adding another.

Instructions

Create or update one light you control (setup_lighting makes a whole preset instead). The same name updates that light; it never makes a copy. spot is a cone, point shines all ways, area is a panel, sun gives parallel rays. location is in world metres; look_at is the point a spot, area or sun aims at. A new light without them sits at [0, 0, 3] and points down; an update keeps what you omit. power_w is watts; for a sun it is W/m2 (1-5, about 3 is a normal day). A point or spot needs about 40 W at 1 m, 150 W at 2 m, 600 W at 4 m for a normal exposure; an area panel a third of that. color is '#rrggbb' or linear [r, g, b]; temperature_k (800-20000) multiplies it with a blackbody tint. Spot: spot_size_deg is the full cone angle (1-180), blend (0-1) softens its edge. cutoff_m stops a spot or point hard at that distance. radius (spot, point) is the source size in metres: bigger means softer shadows. size (area) is [width, height] in metres or one number for a square (1 m when empty). shadow_soft=false makes hard shadows. Names that start with bl_light_ belong to setup_lighting and are refused. Remove lights with delete.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNospot
nameNolight
sizeNo
blendNo
colorNo#ffffff
radiusNo
look_atNo
power_wNo
cutoff_mNo
locationNo
shadow_softNo
spot_size_degNo
temperature_kNo

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?

With no annotations, the description carries the full behavioral burden and does so richly: it explains create-vs-update semantics ('same name updates that light; it never makes a copy'), default placement for omitted location/look_at, preservation of omitted fields on update, power/color/temperature semantics, shape-specific constraints, and name restrictions. This is comprehensive for a mutation tool.

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?

It is a dense but front-loaded paragraph; the first sentence states purpose and the main alternative, then each subsequent sentence explains a distinct parameter group. The length is justified by 13 parameters, though bullet formatting could improve scanability.

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?

For a 13-parameter mutation tool with no annotations and no output schema, the description covers what an agent needs: creation/update behavior, defaults, constraints, naming rules, and practical guidance. Return values are not described, but none are provided in an output schema, so completeness is high.

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% across 13 parameters, so the description must compensate, and it does: it defines kind, location (world metres), look_at aim point, power_w units and practical wattages, color formats, temperature_k range/effect, spot_size_deg range, blend range, cutoff_m, radius source size, size area dimensions, and shadow_soft. Nearly every parameter receives meaningful semantics beyond its type.

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 starts with a specific verb+resource ('Create or update one light') and immediately distinguishes it from the sibling setup_lighting ('makes a whole preset instead'), so an agent can select it without opening other tools.

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 explicitly names when to use an alternative ('setup_lighting makes a whole preset instead') and when not to use it ('Names that start with bl_light_ belong to setup_lighting and are refused'), plus points to delete for removal. This gives clear routing guidance.

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