Skip to main content
Glama

add_diamond

Add a diamond shape to an Excalidraw scene by specifying its position, size, and optional label, fill, stroke, and styling properties.

Instructions

Add a diamond to the scene.

Input Schema

NameRequiredDescriptionDefault
hYes
wYes
xYes
yYes
labelNo
opacityNo
frame_idNo
fillStyleNo
font_sizeNo
roughnessNo
roundnessNo
font_familyNo
strokeColorNo
strokeStyleNo
strokeWidthNo
backgroundColorNo

Output Schema

NameRequiredDescriptionDefault
text_idNo
arrow_idNo
frame_idNo
label_idNo
circle_idNo
diamond_idNo
rectangle_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare this is a non-destructive, non-idempotent, closed-world mutation, so safety is partly covered. The description adds nothing beyond that: it does not say whether the diamond is appended to the current frame, how z-order is determined, what identifier comes back, or that repeated calls stack duplicates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and contains no padding, so it satisfies conciseness. However, at this brevity it is under-specified rather than efficient; one extra clause about coordinates or the returned element would have been worth the words.

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

Completeness2/5

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

An output schema exists, so return values need no explanation, but a 16-parameter creation tool with zero schema descriptions is under-documented. The geometry parameters (x/y/w/h required, bounded to ±100000) and the styling/typography parameters are left entirely to name inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 16 parameters, and the description never mentions x, y, w, h, or any styling option. An agent must infer from the schema's property names and constraints alone that these are bounding-box coordinates and dimensions, with no units or origin semantics given anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The sentence gives a specific verb (Add) and a specific resource (a diamond), and the shape name alone separates it from add_circle, add_rectangle, and add_text in the sibling set. It does not explain scope (which scene/layer) or what adding entails, but the core purpose is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus add_rectangle or add_circle, no mention of required prerequisites such as an active frame or scene, and no note about when a diamond annotation is preferable to a rotated rectangle.

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