Skip to main content
Glama
Stv-devl
by Stv-devl

create_window_2d

Cut a wall opening and draw a 2D window with jambs, frame, and glazing lines. Specify position, width, height, sill, orientation, and material.

Instructions

Cut a window opening in the wall and draw the 2D window (jambs, frame and glazing lines). A BIM object like the door: mark (F1, F2...), height (default 1200 mm), sill = height of the bottom above the floor (default 900 mm) and material (default PVC).

position: [x, y] centre of the window ON THE WALL AXIS (mm). width: default 1200 mm. orientation: direction of the WALL, "horizontal" or "vertical". wall_thickness: thickness of the wall crossed (default 200). Warns if no wall was found there.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
markNo
sillNo
widthNo
heightNo
fit_viewNo
materialNo
positionYes
orientationNohorizontal
wall_thicknessNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose key behavior: it cuts a physical opening in the wall, draws jamb/frame/glazing lines, creates a BIM object, and warns if no wall is found. These are meaningful effects beyond a generic 'create window'. It could still state whether the operation is destructive/irreversible or what happens after the warning, but the disclosed behavior is substantial.

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 compact, front-loads the purpose, and then groups defaults and geometric parameters without wasted prose. Line breaks and inline parenthetical defaults make it easy to scan.

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 a 9-parameter tool with no annotations, the description is unusually complete: it explains the wall-cutting action, the shared BIM conventions, the exact center/axis semantics, and a warning condition. The missing fit_view explanation and the lack of explicit alternative routing are the main gaps; output schema existence reduces the need to document return values.

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?

Input schema coverage is 0%, and the description compensates by explaining eight of the nine parameters with domain-specific meaning, units (mm), and defaults (height 1200, sill 900, width 1200, wall_thickness 200, material PVC). The only unexplained parameter is fit_view, whose name and boolean default may be enough in some contexts but is not described.

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 action—'Cut a window opening in the wall and draw the 2D window'—identifying both the resource and the exact 2D elements created. It is clearly a window-creation tool and is visually distinct from siblings like create_door_2d or create_wall_2d. The 'BIM object like the door' comparison also signals the model of object being created.

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

Usage Guidelines4/5

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

The intended context is clear: use this tool when a 2D window opening needs to be cut and drawn in a wall Alert. The description also implies a prerequisite by warning if no wall is found at the position. It does not explicitly name alternatives or state 'for a door use create_door_2d', but the context is strong enough for an agent to infer when to call it.

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