Skip to main content
Glama

add_masonry

Generate real-scale brick, block, stone, or tile courses for walls, floors, chimneys, and steps via live Geometry Nodes modifier with adjustable mortar joints and per-unit depth/tone variation.

Instructions

Real bricks, blocks, stone courses or tiles cut from a solid (walls, chimneys, floors, steps): joints are real gaps with a mortar bed behind, every unit varies in depth and tone. Live Geometry Nodes modifier 'Roxy Masonry' (sliders) + a '_Mortar' child. add_damage chips the arrises; make_game_asset bakes it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
upNoDirection the courses stack (walls: z; floor tiles: y).z
seedNo
alongNoDirection of the brick/tile length.x
jointNoMortar/grout joint (m): bricks 0.01, tiles 0.002-0.005.
objectsYesObject name or list of names.
staggerNoOffset of every other course: 0.5 running bond, 0 stack bond/grid tiles, 0.33 third bond.
unit_lengthNoBrick/block/tile length (m). Brick 0.215, block 0.44, tile 0.3-0.6.
depth_jitterNoRandom in/out offset per unit (m) - old walls 0.003+.
mortar_depthNoMortar bed set back from the face (m); 0 = open joints.
course_heightNoBrick height / tile width (m). Brick 0.065, block 0.215.
mortar_materialNoMaterial preset name (list_material_presets), or {preset, color, roughness, weathering, ...} like apply_material, or the name of an existing material. Presets with a real-world scan use Poly Haven automatically; {'polyhaven': 'mossy rock'} picks any Poly Haven texture by description.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does disclose key side effects beyond the schema: it creates a live 'Roxy Masonry' Geometry Nodes modifier plus a '<name>_Mortar' child object, and that every unit varies in depth and tone. This is genuinely useful behavioral context. It stops short of stating reversibility or how it treats pre-existing geometry, so it is strong but not exhaustive.

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 purpose, then side effects, then workflow hooks in three dense sentences with little waste. The telegraphic style ('chips the arrises') is efficient but slightly jargon-heavy, keeping it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with no output schema and no annotations, the description covers purpose, generated side effects (modifier + child object), and downstream tool chaining adequately. It does not explain the return value or how it handles existing meshes, but the essentials for correct invocation are present.

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 91%, so nearly every parameter (up, along, joint, stagger, course_height, etc.) is already well documented in the schema with real-world value guidance. The description adds only implicit meaning (e.g. 'joints are real gaps with a mortar bed behind' relates to joint/mortar_depth) but no syntax beyond the schema, so the baseline holds.

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 (add) and resource (masonry), then precisely defines what that means: real bricks, blocks, stone courses or tiles with real mortar gaps. This clearly distinguishes it from siblings like add_planks (wood) or create_cushion, and names the concrete surfaces it targets (walls, chimneys, floors, steps).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives contextual cues about what surface types this produces (walls, chimneys, floors, steps) and names follow-up tools (add_damage chips the arrises; make_game_asset bakes it), which implies a workflow. However, it never explicitly states when to choose this over alternatives such as add_planks or add_surface_detail, nor any exclusions or prerequisites.

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