Skip to main content
Glama

Rotate an element

rotate_element
Destructive

Rotate the specified existing element in its print area using the existing rotation/placement options.

Input Schema

NameRequiredDescriptionDefault
optionsNoExisting arguments; advanced fields/aliases remain accepted. Supplied design patches can overwrite session content; preview/rendering can fetch public image URLs in those designs. Catalogue/session results include the full designArgumentSchema.
subjectYesThe exact subject returned by start_design_session.
requestIdYesGenerate a UUID for a new action. Reuse it only for retrying/polling that same action and payload. A new user edit needs a new UUID.
sessionTokenYesThe private expiring capability returned by start_design_session. Do not publish it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / options / description
      Previous value: -"Existing arguments; advanced fields/aliases remain accepted. Catalogue/session results include the full designArgumentSchema."New value: +"Existing arguments; advanced fields/aliases remain accepted. Supplied design patches can overwrite session content; preview/rendering can fetch public image URLs in those designs. Catalogue/session results include the full designArgumentSchema."
  2. First observed

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the description's job is to add context — but it doesn't. Critically for a non-idempotent rotation tool, it never says whether the rotation value is absolute (set to N degrees) or cumulative (rotates by N each call), nor whether the change is reversible or requires the element to be in a print area first. The one useful detail added is that the element must already exist and be in its print area.

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 sentence with the action front-loaded; it is not padded. The closing clause "using the existing rotation/placement options" is vague filler that doesn't earn its place, keeping it below 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?

This is a destructive, non-idempotent mutation over a deeply nested options object with no output schema, so the description should carry more: it says nothing about angle units, accumulation across calls, or what the response returns. It is adequate for identifying the action but not for calling it correctly on complex layouts.

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 100%, so the schema already documents subject, sessionToken, requestId and the nested options/placement objects, making 3 the baseline. The description's only nod to parameters is the vague "existing rotation/placement options", which adds no meaning about units (degrees vs radians) or which option field carries the angle.

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 states a specific verb and resource ("Rotate the specified existing element") plus its scope ("in its print area"), so an agent can tell it apart from add_*, delete_*, or update_* tools. However, it never distinguishes rotation from the closely related siblings move_element, resize_element, align_element, or flip_image, and the trailing phrase "using the existing rotation/placement options" muddies rather than sharpens the purpose.

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 tool rather than move_element/resize_element/flip_image, no mention of prerequisites such as an active design session or an element already placed in a print area, and no exclusions. The only implied usage is "an element already exists and you want to spin it".

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources