Skip to main content
Glama
Starlordzz

multi_uiautomator2

by Starlordzz

swipe

Perform swipe or drag gestures on an Android device using start and end coordinates for UI automation and navigation.

Instructions

Swipe/drag from (sx, sy) to (ex, ey). Get the screen size from get_device_info to compute coordinates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
exYes
eyYes
sxYes
syYes
durationNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does not mention that a swipe is a touch gesture that may trigger navigation, scrolling, or app-specific actions, nor does it discuss side effects or prerequisites beyond screen size calculation. It also doesn't clarify the effect of the optional duration parameter on behavior.

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?

The description is compact: two sentences with no filler. The first sentence is action-oriented; the second gives a useful tip about using get_device_info. It could include a bit more parameter detail, but it is efficiently sized.

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?

Given 5 parameters and 0% schema coverage, the description is too thin. It doesn't explain coordinate origins, duration units, or the effect of the gesture (e.g., swipe vs fling vs drag). The sibling list shows many alternative gestures (tap, scroll, long_press), and without boundary conditions, the agent may misuse this tool. The get_device_info hint is helpful but doesn't fill the gap.

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

Parameters2/5

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

Schema description coverage is 0%, and the schema only provides titles like 'Sx', 'Sy', 'Ex', 'Ey' with no descriptions. The description adds minimal semantics: it explains that sx, sy is the start coordinate and ex, ey is the end coordinate. However, it does not specify the coordinate system origin (e.g., top-left), units in pixels, or what duration means. Also, the duration default of 0.5 is undefined in units (seconds? milliseconds?).

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 clearly states the action ('Swipe/drag') and the exact parameters (from (sx, sy) to (ex, ey)). It distinguishes itself from tap, double_tap, long_press, and scroll by specifying both start and end coordinates. It doesn't explicitly compare to siblings, but the verb plus coordinate range makes the purpose clear.

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?

The description implies when to use the tool (when a swipe or drag gesture is needed) and gives a useful hint about computing coordinates from get_device_info. However, it doesn't explicitly state when not to use it or mention alternatives like scroll for scrolling gestures. The guidance is implied rather than explicit.

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