Skip to main content
Glama

pointer_move

Move the mouse cursor to an exact screen position using absolute coordinates. Coordinates match window and screen maps, enabling precise targeting on GNOME Wayland desktops.

Instructions

Move the pointer to an absolute screen position. Exact: this goes to the compositor (org.gnome.Mutter.RemoteDesktop), not through ydotool, so there is no acceleration curve and no closed loop needed. Coordinates are the same ones list_windows and screen_map report.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
lookNoWhat to show you afterwards. Default "auto": wait for the screen to stop changing, measure how much this action changed, and attach a picture of the affected window only if something did change -- so a click that hit nothing costs no tokens and says so. "window" always attaches it, "screen" uses the whole desktop (slower, 6x the tokens), "region" uses look_at, false skips all of it. Use false for the middle of a sequence you are going to check at the end anyway.auto
look_atNoRectangle for look:"region", in screen pixels. Object form {x, y, width, height} or array form [x, y, width, height].
settle_max_sNoHow long to wait for the screen to stop changing before looking. Raise it for an app that animates slowly; set it to 0 to capture immediately.
expect_windowNoRefuse the move if this window is not the one at that point.
Install Server

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It reveals a meaningful implementation detail: the move goes through org.gnome.Mutter.RemoteDesktop rather than ydotool, resulting in no acceleration curve and no closed loop. This is genuinely useful beyond the schema.

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?

Three sentences, no filler. The core action is front-loaded, then the exact execution path and coordinate semantics are added without redundancy. Every sentence earns its place.

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 simple pointer-move action, the description covers the essential behavioral context: absolute coordinates, coordinate origin, and the compositor path. While it does not describe return values or failure modes, the schema handles the look/settling parameters, making the overall package sufficient.

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?

The schema has 67% coverage, leaving x and y undocumented. The description compensates by defining them as absolute screen coordinates consistent with list_windows and screen_map. Other parameters already have thorough schema descriptions, so the added coordinate context is the key contribution.

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 and resource: 'Move the pointer to an absolute screen position.' It also separates itself from pointer_drag, pointer_scroll, and pointer_click by emphasizing absolute positioning, and clarifies the coordinate convention shared with list_windows and screen_map.

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

Usage Guidelines3/5

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

The description implies when to use it: whenever an absolute pointer move is needed using the same coordinate space as list_windows and screen_map. However, it does not explicitly contrast with sibling tools like pointer_drag or pointer_position, nor does it state when not to use it.

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

Other Tools

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/tristanmuzzu/deskwright'

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