Skip to main content
Glama

tap

Clicks the on-screen element whose label contains given text; refuses ambiguous matches by listing candidates, or selects first match when allowed.

Instructions

Tap the on-screen element whose label contains label.

Refuses an ambiguous label and lists the candidates, because a silent wrong tap navigates somewhere unexpected. Pass first=True to take the first match.

Returns the resolved label and coordinates actually tapped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
firstNo
labelYes
deviceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare the safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true), and the description adds genuinely non-redundant behavior: it refuses ambiguous labels, lists the candidates instead, and explains why ('a silent wrong tap navigates somewhere unexpected'). It also states the return content. Device targeting behavior is not disclosed.

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 action, then the ambiguity/override rule, then the return value. Every sentence is useful, though the parenthetical rationale about unexpected navigation is slightly verbose for its value.

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

Completeness4/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 helpfully states what is returned ('the resolved label and coordinates actually tapped'). Combined with the ambiguity behavior and the `first` override, an agent has nearly everything needed, with only device selection left unexplained.

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 0%, so the description must carry parameter meaning. It clarifies `label` as a substring match ('contains') and explains `first`, but the third parameter `device` is never mentioned, leaving a real gap at zero baseline coverage.

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?

The description opens with a specific verb+resource: 'Tap the on-screen element whose label contains `label`.' This is unambiguous and clearly distinct from the read-only siblings (screenshot, screen_tree, audit_layout), so an agent can route to it without inspecting the 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?

It gives a concrete use-condition for the optional parameter ('Pass first=True to take the first match') and explains the default behavior of refusing ambiguous labels. It doesn't name alternatives, but the siblings are complementary rather than competing tools, so the guidance is adequate.

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

Deploy Server

Other Tools