Skip to main content
Glama

set_properties

Modify visual properties such as fills, strokes, typography, corner radius, effects, and auto-layout on an existing canvas node by ID.

Instructions

Ubah properti visual (fills, stroke, tipografi, corner radius, corner smoothing, effects, auto-layout) pada node yang ada di kanvas.

Input Schema

NameRequiredDescriptionDefault
idYesID layer yang akan diubah
propsYesProperti yang diubah

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden for a mutation tool, and it delivers very little. It does not say whether unlisted properties are preserved, whether changes are reversible/undoable, what happens if the id is invalid, or how the free-form props object is interpreted. The bare verb 'Ubah' is the only behavioral signal, which is insufficient for an unannotated write operation.

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?

A single, front-loaded sentence with the resource and the property inventory stated immediately; no filler or redundancy. It could be tightened only slightly by adding a usage clause rather than by removing anything.

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?

For an unannotated mutation tool whose core parameter is an undifferentiated free-form object and with no output schema, the description is materially incomplete. The agent is left without the props key vocabulary, the return/confirmation shape, or failure behavior — all of which the structured fields fail to supply here. The property-family list is a start but does not close the gap.

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 coverage is nominally 100%, but the two schema descriptions are near-tautological ('ID layer yang akan diubah', 'Properti yang diubah'), and props is declared as a free-form object with additionalProperties: {} and no key documentation at all. The description partially compensates by listing the property categories that belong in props (fills, stroke, typography, corner radius, corner smoothing, effects, auto-layout), which is genuinely additive. However it gives no key names or value formats, so the agent still cannot construct props reliably — above baseline but well short of adequate.

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 description names a specific verb (Ubah/change) and resource (visual properties on an existing canvas node) and enumerates the property families covered: fills, stroke, typography, corner radius, corner smoothing, effects, auto-layout. The phrase 'pada node yang ada di kanvas' implicitly separates it from creation siblings like create_node. It stops short of naming an explicit alternative, so it is clear but not sibling-differentiating at the level of a 5.

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?

Usage is only implied: 'node yang ada di kanvas' signals this applies to existing nodes rather than new ones, which is a useful implicit boundary against create_node. There is no explicit statement of when to prefer this over figcraft_batch (for multiple nodes) or other sibling tools, and no prerequisites are given. This is minimum-viable guidance rather than routing guidance.

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