Skip to main content
Glama

move_mouse

Destructive

Moves the cursor to a specified coordinate or accessible element in an app, enabling hover interactions when direct targeting is needed.

Instructions

Compatibility alias for hover.

Input Schema

NameRequiredDescriptionDefault
xNoX coordinate in coordinate_space.
yNoY coordinate in coordinate_space.
appYesApp name, Hyprland class/title, pid, or address:0x... selector.
nameNoAccessible name/text to match before falling back to coordinates.
coordinateNo(x, y) coordinate in coordinate_space. Defaults to screenshot pixels from get_app_state.
element_indexNoElement index from the last get_app_state result.
coordinate_spaceNoCoordinate space. screenshot uses get_app_state pixels; window uses logical coordinates from the target window's top-left.screenshot
confirmation_tokenNoExternally approved, one-time challenge ID from request_confirmation for a high-risk action.
element_click_modeNoFor element_index clicks: pointer uses the element frame center and native pointer input; auto tries AT-SPI then pointer; atspi requires an AT-SPI action.pointer

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, and non-idempotent, which is a surprising profile for a pointer move and deserves explanation. The description adds nothing about the confirmation_token, element-click semantics, or why a mouse move is flagged destructive; with annotations carrying the (opaque) safety signals, the description leaves the behavioral picture unexplained.

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

Conciseness3/5

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

A single front-loaded sentence with zero filler, but for a 9-parameter, destructive-flagged tool this is under-specification rather than true conciseness. The size is efficient but inadequate to the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex, 9-parameter pointer/element tool with destructive annotations and no output schema, yet the description covers only its alias status. It omits how element targeting works, the confirmation flow for high-risk actions, and coordinate-space behavior, leaving the agent to derive all of it from the schema.

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% across all 9 parameters, so the schema documents coordinates, app selector, coordinate_space, element_index, and confirmation_token in detail. The description adds no parameter meaning, which is acceptable given full schema coverage but earns only the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the tool only by reference to a sibling ('Compatibility alias for hover'), which lets an agent infer it moves the pointer to hover over a target but never states the verb+resource directly. It succeeds at distinguishing itself from the real 'hover' tool, but the purpose is left implicit rather than described.

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?

Calling it a 'compatibility alias' implies the preferred path is the 'hover' tool and this exists only for backward compatibility, which is useful routing information. However, it never explicitly says when to prefer one over the other or whether behavior differs.

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