Skip to main content
Glama

Scroll to element

scroll_to

Brings off-screen React Native elements into view by scrolling their container or swiping until visible; returns immediately if already on screen.

Instructions

Bring an off-screen element into view. Returns immediately when it is already visible. via: js asks the element's own scroll container to jump to it (no touch, no swipe); os swipes toward it and re-reads the layout after each swipe, stopping as soon as it appears; auto (default) tries js and names the reason when it falls back.

Input Schema

NameRequiredDescriptionDefault
viaNo
textNo
deviceNo
testIDNo
max_swipesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the early-return short-circuit when the element is already visible, that os mode re-reads layout after each swipe and stops as soon as it appears, and that auto names its fallback reason. It omits failure behavior (what happens when the element is never found), interaction with max_swipes, and the return shape.

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?

Front-loaded with the core purpose in one sentence, then the early-return rule, then the mode breakdown. Dense but every clause carries information; the semicolon-delimited mode list is efficient rather than padded.

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?

For a 5-parameter action tool with no annotations and no output schema, the description covers the mechanism well but leaves element targeting, device selection, swipe budget, and the return/error contract entirely unaddressed. Adequate to call it, insufficient to call it correctly on the first try.

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% across 5 parameters, so the description must compensate. It thoroughly explains the `via` enum semantics, but says nothing about `text` vs `testID` (are they alternatives or combined? is one required?), `device`, or `max_swipes` — the latter is only obliquely implied by 're-reads the layout after each swipe'.

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+resource ('Bring an off-screen element into view') and immediately separates itself from the sibling swipe/tap tools by noting js mode does 'no touch, no swipe'. An agent can tell this is the element-targeted scrolling tool, not a raw gesture tool, without opening any schema.

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?

The description gives concrete mode-selection guidance: js asks the element's own scroll container, os swipes and re-reads layout, auto (default) tries js then falls back. It explains why you'd pick each mode, but never states when NOT to use this tool or when to prefer siblings like swipe/navigate directly.

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