Skip to main content
Glama

mouse_drag

Drag the real mouse between two absolute screen coordinates, enabling OS-level drag actions in the visible desktop or native UI. Specify start and end points in physical pixels.

Instructions

Drag the real mouse from one point to another, both in absolute virtual-desktop PHYSICAL screen pixels (see mouse_click for how that differs from page_drag's CSS pixels). Either endpoint on no display is refused with coordinates_off_screen. Safe mode requires one-action approval; lab skips prompting by default and uses session approval only when BROWSERTAP_LAB_NO_ELICIT is explicitly disabled. By default BTAP foregrounds and verifies the selected browser tab after the quiet-input check; prefer an explicit session_id for browser input. activate_session='none' is only for intentional input to the already-visible desktop or native UI.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
buttonNoleft
durationNo
session_idNo
activate_sessionNocurrent

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries full behavioral burden and delivers: it discloses off-screen coordinate refusal, safe-mode approval behavior, lab session-approval conditions, quiet-input check, foregrounding/verification of the browser tab, and restrictions on activate_session. This is unusually transparent.

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?

Dense but efficient; the action and coordinate system are front-loaded, followed by validation and session behavior. Some sentences are long and packed with conditional details, making it slightly harder to scan, but every sentence adds operational 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?

Covers the critical invocation details for a physical-desktop drag: coordinate space, off-screen validation, approval behavior, and browser-session activation. The main gap is optional parameter semantics such as button and duration, but defaults and the presence of an output schema reduce the impact.

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 compensate. It explains the coordinate parameters meaningfully and adds session-related semantics, but button and duration are left with only schema defaults and no description-level guidance.

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 precise verb+resource: "Drag the real mouse from one point to another" in absolute physical screen pixels. It also distinguishes itself from page_drag's CSS-pixel coordinate space, making its purpose clear relative to siblings.

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?

Provides clear context for when this tool is appropriate: physical screen pixels rather than CSS pixels, and it references page_drag as the differing alternative. It also gives concrete session guidance: prefer an explicit session_id for browser input and reserve activate_session='none' for desktop or native UI targets.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LinVireo/browsertap-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server