Skip to main content
Glama

Window Move

window_move

Use this to reposition an identified desktop window to specified screen coordinates. Confirm monitor geometry before moving; the application continues running.

Input Schema

NameRequiredDescriptionDefault
xYesVirtual-desktop X coordinate in pixels.
yYesVirtual-desktop Y coordinate in pixels.
idNoWindow id returned by list_windows.
appNoApplication/process name substring.
pidNoOwning process id.
titleNoWindow title substring.
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
dataNoWindow action structured result for window_action. 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

A3.8/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent, so the safety profile is partly covered; the description still adds real context: the target application keeps running after the move, and geometry should be verified first. It doesn't mention failure modes (off-screen coordinates, backend consent) or what happens on invalid ids.

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 short sentences, action first and caution second, with zero filler. Nothing redundant is repeated from the schema or annotations.

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 and the 8-parameter schema is fully annotated, so the description needn't explain returns or parameters. What's missing is sibling differentiation against window_move_resize, which for a 150-plus tool surface is a real agent-facing gap.

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 x, y, id/app/pid/title, device and backend are all documented in the schema. The description adds only the notion of 'screen coordinates' and nothing about coordinate system origin, multi-monitor negative coords, or backend selection tradeoffs. Baseline 3 applies.

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 (reposition) and resource (an identified desktop window) with the target (screen coordinates). However, it never distinguishes itself from the closely-named sibling window_move_resize, which an agent would likely confuse it with.

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?

Includes a prerequisite-style caution ('Confirm monitor geometry before moving') and implies usage by 'identified desktop window' (i.e. one must first resolve a window via list_windows). But there is no explicit when-not guidance and no routing to window_move_resize or window_resize, which are the obvious alternatives.

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