Skip to main content
Glama

browser_click_xy

ESCAPE HATCH: Click at raw viewport coordinates (CSS pixels) with fully trusted mouse events. Use when a visible button resists every selector strategy (Azure portal dialogs, Knockout-bound divs, canvas UIs): take a screenshot, read the…

Instructions

ESCAPE HATCH: Click at raw viewport coordinates (CSS pixels) with fully trusted mouse events. Use when a visible button resists every selector strategy (Azure portal dialogs, Knockout-bound divs, canvas UIs): take a screenshot, read the button's position, click its center. Coordinates are CSS pixels, NOT image pixels: convert with the viewport line browser_screenshot returns: x_css = x / W * css_width and y_css = y / W * css_width, where (x, y) is the point in the image and W is the width the image is shown to you at.

Input Schema

NameRequiredDescriptionDefault
xYesX coordinate (CSS pixels, from left of viewport)
yYesY coordinate (CSS pixels, from top of viewport)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.28.0

TDQS

A4.3/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 it delivers meaningful traits: clicks use 'fully trusted mouse events' and target the raw viewport rather than an element. It also flags the coordinate-system trap and the workflow (screenshot first, read position, click center). It stops short of saying what the tool returns or how it reports a mis-click/off-target click.

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-loads the critical framing ('ESCAPE HATCH') in the first four words, then escalates to the trigger condition and the coordinates caveat. The conversion formula is dense but earns its place; total length is justified for a tool whose main hazard is coordinate misinterpretation.

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?

For a two-parameter, no-output-schema, no-annotation click tool, the description covers the selection context, the coordinate system, and the recommended precondition (screenshot). It omits post-click behavior (waiting, failure reporting, whether it scrolls into view), which would round it out.

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 already 100%, so the baseline is 3, but the description adds genuinely new meaning by warning that coordinates are CSS pixels rather than image pixels and supplying a conversion formula. That is real value beyond the schema's bare 'X coordinate (CSS pixels, from left of viewport)'.

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 ('Click at raw viewport coordinates (CSS pixels) with fully trusted mouse events') and frames itself as an escape hatch distinct from the selector-based browser_click sibling. An agent can immediately tell this apart from browser_click/browser_double_click.

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?

Gives explicit trigger conditions — 'Use when a visible button resists every selector strategy' — and names motivating cases (Azure portal dialogs, Knockout-bound divs, canvas UIs). It effectively implies 'do not use this when a selector works', but never names the preferred alternative tool outright, so it falls just short of full when/when-not routing.

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