Skip to main content
Glama

click

Activates a target by ref, coordinates, or selector, auto-waiting for visibility, stability, enabled and uncovered state; returns navigation, tab, dialog, download, alert, and console-error effects.

Instructions

Click a target (ref, "x,y", or selector). Auto-waits for the element to be visible, stable, enabled and not covered. Returns an effect summary (navigation, new tabs, dialogs, downloads, live-region announcements as → alert (not JS dialogs), console errors).

Input Schema

NameRequiredDescriptionDefault
tabNoTab id such as "t3"; default is the active tab
countNo
forceNoSkip actionability checks
buttonNo
targetYesA ref from snapshot/find ("e12"), a point "x,y" in the last screenshot's pixels, or a Playwright selector (text=…, role=button[name="…"], #id, css=…, xpath=…)
snapshotNotrue attaches a full-page snapshot after the effect summary; false skips the viewport snapshot attached when the action opens a new document (call snapshot for the whole page)
modifiersNo
timeout_msNoTimeout in ms; default is the configured action/navigation timeout

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

With only openWorldHint in annotations, the description adds meaningful behavior: it lists actionability waits (visible, stable, enabled, not covered) and describes the effect summary including navigation, tabs, dialogs, downloads, alerts, and console errors. It still leaves some behavioral details such as force overrides to the schema, but it substantially carries the disclosure burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with no filler. The action and target forms are front-loaded, followed by auto-wait behavior and return summary, which is an efficient structure.

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?

There is no output schema, so it is useful that the description summarizes return effects and actionability behavior. However, for an 8-parameter tool it omits usage guidance and leaves several parameters unclarified, making it adequate but with clear gaps.

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 moderate at 63%, and the schema already documents target, tab, force, snapshot, and timeout_ms. The description restates target forms and explains the return summary, but does not add meaning for count, button, or modifiers, so parameter semantics remain only adequate.

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?

States a specific verb and resource: 'Click a target', and enumerates accepted target forms (ref, coordinates, selector). It does not explicitly distinguish itself from siblings like hover or drag, so it is clear but lacks sibling differentiation.

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

Usage Guidelines2/5

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

The description gives no when-to-use or when-not-to-use guidance, no prerequisites, and no alternatives. The only implied usage is that it clicks a target, which is not enough to route an agent between click and related tools.

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