Skip to main content
Glama

find

Scrolls an Android screen until specified text appears, then reports FOUND with its location or NOT FOUND. Use read_screen afterward to act on the result.

Instructions

Scroll until some text is on the screen (a contact, a setting, a message), then stop. Returns FOUND with where it is, or NOT FOUND; call read_screen to act on it.

Input Schema

NameRequiredDescriptionDefault
textYesThe text to look for (case doesn't matter)
elementNoOptional: id of the scrollable element from read_screen
directionNo
max_scrollsNoDefault 10, max 30

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.2.21

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the burden and does disclose the core loop and the two-state return (FOUND with location / NOT FOUND). It omits the operational consequences: that up to 30 scrolls may be slow, and what state the screen is left in when the text is never found — meaningful gaps for a screen-driving tool.

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 core behavior and followed by the return contract and next step. The parenthetical examples of what counts as text are compact and earn their place; only minor slack.

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?

No output schema exists, so the description must define returns — it does state FOUND/NOT FOUND and that FOUND includes a location, which is the key contract. But "where it is" is left vague (coordinates? element id?) and there is no note on timing or post-failure screen state, leaving the picture partial for a 4-parameter device-automation tool.

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 75%, so the schema already documents text, element, direction and max_scrolls. The description adds only the matching intent ("some text is on the screen") and nothing about direction, element targeting, or the scroll budget, so baseline 3 applies.

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 gives a specific verb and mechanism — scroll repeatedly until the target text appears, then stop — which is clearly distinct from a plain scroll or read_screen. It does not explicitly name the sibling it replaces (scroll), but the search-and-stop semantics are unambiguous.

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?

"call read_screen to act on it" gives a clear next step after a successful find, which is useful routing guidance. However, it never says when NOT to use this (e.g., if the text is already visible, or when wait_for is the better choice for dynamically loading content), so usage is only implied.

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