Skip to main content
Glama

Pointer Up

pointer_up
Destructive

Use this when the user asks to release a mouse button after pointer_down during a native desktop drag or selection gesture on a paired computer. Releasing the button can complete a drag, click, selection or application action; it does not press the button.

Input Schema

NameRequiredDescriptionDefault
xNoVirtual-desktop X coordinate in pixels.
yNoVirtual-desktop Y coordinate in pixels.
buttonNoPointer button to use for click/down/up or drag gestures.
deviceYesReMCP device id returned by list_devices. Required for every device operation.
backendNoInput backend preference. auto uses proven local backends and already-authorized portal input; portal explicitly requests XDG RemoteDesktop consent on Wayland; x11 forces XWayland/xdotool only for operations where read-back testing shows it is reliable. GNOME Wayland keyboard/text deliberately reject x11.

Output Schema

NameRequiredDescriptionDefault
dataNoPointer action structured result for pointer. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.
textYesConcise human-readable result of the tool call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description adds real operational context beyond that: the call is a completion point ('can complete a drag, click, selection or application action') and must follow a pointer_down, which explains why it is non-idempotent and consequential. It does not mention auth/device-pairing requirements or backend consent, which is a minor gap.

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 tight clauses, front-loaded with the usage trigger, then the outcome, then the negative disambiguation. No filler and every phrase carries information.

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?

An output schema exists so return values need not be described, and the usage trigger plus consequence are supplied. The only meaningful omission is the pairing contract with pointer_down's button/coordinates, which would make this fully self-sufficient for correct invocation.

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 100%, so the schema already documents x, y, button, device and backend, including enum values. The description adds nothing about parameter behavior such as whether button must match the pointer_down button or whether x/y must match the press point, which is the one piece of semantics an agent would actually need. Baseline 3 applies.

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 ('release a mouse button') and scopes it to a native desktop drag/selection gesture on a paired computer. It explicitly disambiguates from the sibling pointer_down with 'it does not press the button', so an agent can separate the two 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 Guidelines4/5

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

'Use this when the user asks to release a mouse button after pointer_down' gives a clear triggering condition and implies the required ordering relative to pointer_down. It does not state failure modes (e.g. calling it without a preceding pointer_down) or contrast with pointer_click/drag_drop, so it stops short of full when/when-not coverage.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources