Skip to main content
Glama
Browser Session MCP

Browser Session MCP

tap

Destructive

Simulates finger touch input via CDP to fire touch, pointer, and click events; targets elements by CSS selector or viewport coordinates on mobile sessions.

Instructions

Tap in the session's active tab with a finger: real CDP touch input, so the page gets touch events, pointer events with pointerType "touch" and the click a tap makes. Use it on mobile sessions (open_browser_session with useMobileUA, which also makes the page see a touch screen) for anything a phone user would tap; click sends mouse input instead. Pass a CSS selector (or plain words, resolved by Jev as for click) to tap the first match's center after waiting up to timeout for it, or both x and y for viewport coordinates. A tap can submit forms or trigger purchases, like a real user's. Returns a confirmation naming what was tapped.

Input Schema

NameRequiredDescriptionDefault
xNoHorizontal viewport coordinate in CSS pixels, used with `y` when no selector is given.
yNoVertical viewport coordinate in CSS pixels, used with `x` when no selector is given.
timeoutNoMilliseconds to wait for `selector` to appear. Default 5000.
selectorNoCSS selector of the element to tap; the first match is used. Or describe it in plain words, as for click.
sessionIdYesThe id returned by open_browser_session. Errors if no open session has it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.18

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare destructive, non-idempotent, open-world behavior; the description adds concrete substance on top: the page receives touch events and pointer events with pointerType "touch", and a tap 'can submit forms or trigger purchases, like a real user's.' It also discloses that it returns a confirmation naming the target. It does not cover failure modes such as tapping a non-existent selector beyond the timeout wait.

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 and touch/CDP distinction, then usage guidance, then input modes, then return value – a sensible order. It runs slightly long and restates selector/plain-words resolution already present in the schema.

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

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation tool with no output schema, the description covers the action's physical semantics, the mobile requirement, the input modes, the side-effect risk, and the return shape. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description nonetheless clarifies the either/or shape of the inputs – a CSS selector or plain words resolved as for `click`, versus both `x` and `y` as viewport coordinates – and explains that `timeout` is the wait for the selector to appear. This meaningfully disambiguates precedence between the two modes, though it repeats some schema text.

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 and resource ("Tap in the session's active tab with a finger") and immediately qualifies it as real CDP touch input rather than a synthetic click. That lets an agent distinguish it from the sibling `click` without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it on mobile sessions opened with `open_browser_session`/useMobileUA for anything a phone user would tap, and names `click` as the mouse-input alternative. The when-to-use condition and the alternative are both spelled out.

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