Skip to main content
Glama

scroll

Scroll through app content in any direction, or jump directly to the top or bottom edge of a scrollable view on real iOS, Android, desktop, and TV devices.

Instructions

Scroll in a direction, or toward the top/bottom edge of scrollable content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdNoWorking directory for command execution.
udidNoiOS device UDID selector.
debugNoEnable debug diagnostics.
runIdNoLease run identifier.
amountNoPlatform scroll amount.
deviceNoDevice name selector.
pixelsNoPixel scroll amount.
serialNoAndroid device or Vega VVD serial selector.
settleNoAfter the action, wait for the UI to go quiet and return the settled diff vs the pre-action tree in the same response. Best-effort; never fails the action.
targetNoAlias for deviceTarget on commands without a UI target field. Interaction commands reserve target for the UI element.
tenantNoRemote tenant identifier.
leaseIdNoExisting lease identifier.
sessionNoAgent-device session name.
noRecordNoDo not record this action.
platformNoPlatform selector used to resolve a device.
stateDirNoAgent-device state directory.
directionYes
timeoutMsNoSettle: wait deadline in milliseconds (default 10000).
durationMsNoScroll duration in milliseconds when the backend supports pacing.
includeCostNoInclude per-command agent-cost (cost.wallClockMs, …) in structuredContent. Defaults to off; the default response shape is unchanged.
deviceTargetNoDevice target form. Maps to the CLI --target flag.
daemonBaseUrlNoRemote daemon base URL.
responseLevelNoResponse verbosity: token-cheap digest / default (today) / full. Defaults to default; the default response shape is unchanged.
settleQuietMsNoSettle: quiet window in milliseconds (default 500).
daemonAuthTokenNoRemote daemon auth token.
iosXctestEnvDirNoWritable directory for iOS XCTest runner env overlays.
mcpOutputFormatNoMCP text content format. Defaults to optimized agent-friendly text; use json for JSON text. Structured content is always returned separately.
iosXctestrunFileNoExternally built iOS XCTest runner .xctestrun artifact path.
iosSimulatorDeviceSetNoiOS simulator device-set path used for device resolution.
androidDeviceAllowlistNoAndroid serial allowlist used for device resolution.
iosXctestDerivedDataPathNoDerived data path for external iOS XCTest runner execution.
Behavior2/5

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

No annotations are present, so the description carries the full burden of explaining behavior. It mentions scrolling direction and edges but omits key behavioral details such as whether scrolling is animated, whether it can settle, or what the response contains. The schema's settle parameter suggests a diff-return behavior, but the description does not disclose this.

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 a single, front-loaded sentence that directly states the core functionality. No filler or redundant information is present.

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?

Despite the high schema coverage, the tool has no output schema and no annotations, and the description is too terse to fully convey expected behavior or return values. It does not mention the settle/diff capability or how scrolling amounts are determined, leaving gaps for an agent deciding whether to invoke it.

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 97%, so the baseline is 3. The description adds minor value by clarifying that 'top' and 'bottom' refer to edges of scrollable content, which the schema does not explicitly state. However, it does not explain interaction with other parameters like amount or pixels.

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 uses the specific verb 'scroll' and identifies the resource as 'scrollable content,' making the action clear. It also distinguishes between directional scrolling and scrolling to the top/bottom edge, which is a meaningful scope. However, it does not explicitly contrast with sibling tools like 'swipe', so it misses a clear differentiation point.

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?

The description provides no guidance on when to use this tool versus alternatives like 'swipe' or 'gesture'. It simply states what the tool does, leaving usage context implied but never explicit.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/callstack/agent-device'

If you have feedback or need assistance with the MCP directory API, please join our Discord server