Skip to main content
Glama

phone_scroll

Destructive

Swipe the current screen to reveal content above, below, left, or right by setting a normalized anchor and scroll deltas. Returns the settled screen change so you can inspect before repeating.

Instructions

Move the current viewport with one device-side swipe; use phone_scroll_find to locate a known label, or phone_collect_list to read multiple pages. x,y are a normalized anchor in the intended scrollable region. Avoid text fields, sliders and screen edges: a misplaced gesture can edit a control or navigate away. Positive dy reveals content below, negative above; dx reveals right/left. Travel is 1.5 times each delta in points, clamped to 15–75% of that screen dimension. Requires phone_status.drivable=true. observe defaults on and returns the settled screen change; inspect it before repeating a swipe.

Input Schema

NameRequiredDescriptionDefault
xYesHorizontal anchor position, normalized 0–1.
yYesVertical anchor position, normalized 0–1.
dxYesHorizontal scroll delta. Positive reveals content to the right.
dyYesVertical scroll delta. **Positive dy reveals content farther down**; negative dy reveals content above. ~80 ≈ 15% of a screen, ~400 ≈ 75%.
observeNoDefault true: return what the screen settled to (as on phone_tap). `false` for the fastest bare action.
instanceNoInstalled local instance name, such as i13 or default. Omit to use the configured daemon. No fallback on failure.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.27.3
    • addedInput schema / properties / instance
      Added value: +{
      +  "description": "Installed local instance name, such as i13 or default. Omit to use the configured daemon. No fallback on failure.",
      +  "type": "string"
      +}
  2. Changed4 schema fields changedv0.22.4-glama.1
    • addedInput schema / properties / x / maximum
      Added value: +1
    • addedInput schema / properties / x / minimum
      Added value: +0
    • addedInput schema / properties / y / maximum
      Added value: +1
    • addedInput schema / properties / y / minimum
      Added value: +0
  3. First observedv0.21.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare this as non-read-only, open-world, non-idempotent, and destructive; the description adds concrete behavioral context: the prerequisite phone_status.drivable=true, the risk that a misplaced gesture can edit a control or navigate away, the travel scaling/clamping behavior, and the default observe return behavior.

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 dense but front-loaded: it begins with the core action and alternatives, then groups usage hazards, direction semantics, scaling, prerequisites, and observe behavior. Every sentence adds operational value for invoking a risky gesture correctly.

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

Completeness5/5

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

For a destructive open-world gesture tool with no output schema, the description supplies what the agent needs: alternatives, prerequisites, risky regions to avoid, direction conventions, travel scaling, and observe behavior. The annotations provide the safety profile, and the description fills in the operational details.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by clarifying that x,y are an anchor within the intended scrollable region and by explaining that travel is 1.5 times each delta in points, clamped to 15–75% of that screen dimension. Direction semantics are also reinforced, though they are already largely present in the schema.

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 action and resource: moving the viewport via one device-side swipe. It also names sibling alternatives (phone_scroll_find, phone_collect_list), so the agent can distinguish this tool from adjacent scrolling tools.

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

Usage Guidelines5/5

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

Explicitly routes known-label lookup to phone_scroll_find and multi-page reading to phone_collect_list. It also warns against swiping text fields, sliders, and screen edges, and advises inspecting the settled screen before repeating a swipe.

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