Skip to main content
Glama

rotate

Change an Android device or emulator orientation to portrait, landscape, reverse portrait, or reverse landscape. Confirm the result via the returned orientation.

Instructions

Turn the device to "portrait", "landscape", "reverse_portrait" or "reverse_landscape", like a person turning the phone. The display only follows if auto-rotate is on and the app allows it; check the orientation in the returned header.

Input Schema

NameRequiredDescriptionDefault
max_wait_msNo
orientationYes
observe_afterNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/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 useful work: it discloses that rotation is a request that may silently not take effect, and tells the agent to confirm by reading the `orientation` header. It does not explain what max_wait_ms or observe_after do behaviorally, which limits it short of a 5.

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?

Two sentences, front-loaded with the action and its values, then the one behavioral caveat that matters. The "like a person turning the phone" analogy is slightly decorative but clarifies direction semantics rather than padding.

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

Completeness3/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 not be spelled out, and the description still notes the header field worth checking. However, for a 3-parameter tool with 0% schema coverage, the two timing/observation parameters are left undefined, which an agent needs to set sensibly.

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 0% with three parameters, so the description must compensate. It does this well for `orientation` by supplying the allowed values the schema omits, but `max_wait_ms` and `observe_after` remain entirely undocumented, leaving a meaningful gap for a tool where observe_after likely controls post-rotation capture.

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 ('Turn the device') plus the exact set of accepted values ('portrait', 'landscape', 'reverse_portrait', 'reverse_landscape'), and the phone-turning analogy fixes the meaning unambiguously. No sibling in the list (tap, swipe, screenshot, etc.) overlaps, so an agent can route here without checking schemas.

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?

Sets clear preconditions for effective use: the display only follows if auto-rotate is on and the app permits it, and the agent should verify via the returned header. There is no competing alternative tool to exclude, so the lack of explicit "use X instead" wording is not a real gap.

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