Skip to main content
Glama

glass_window

Perform window operations: focus, resize, move, or read geometry for native GUI apps.

Instructions

Focus/resize/move the window or read its geometry. op: focus|resize|move|geometry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xNoScreen-relative left edge; required only for move.
yNoScreen-relative top edge; required only for move.
opYesOne of: "focus", "resize", "move", "geometry".
widthNoWidth in pixels; required only for resize.
heightNoHeight in pixels; required only for resize.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.8.0
    • changedInput schema / properties / height / description
      Previous value: -"New height in pixels for `op: \"resize\"`, required there and ignored otherwise."New value: +"Height in pixels; required only for resize."
    • changedInput schema / properties / width / description
      Previous value: -"New width in pixels for `op: \"resize\"`, required there and ignored otherwise."New value: +"Width in pixels; required only for resize."
    • changedInput schema / properties / x / description
      Previous value: -"New left edge for `op: \"move\"`, required there and ignored otherwise. Screen\ncoordinates — the one place in this API that is not window-relative, since a\nwindow cannot be positioned relative to itself."New value: +"Screen-relative left edge; required only for move."
    • changedInput schema / properties / y / description
      Previous value: -"New top edge for `op: \"move\"`, required there and ignored otherwise. Screen\ncoordinates; see `x`."New value: +"Screen-relative top edge; required only for move."
  2. Addedv1.2.0
  3. Removedv1.0.3
  4. First observedv1.0.1

TDQS

B3.2/5.0
Behavior3/5

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

The annotations mark the tool as not read-only, and the description reinforces that by listing mutating operations (focus, resize, move) alongside read-only geometry. However, it doesn't disclose side effects, window targeting assumptions, or what the geometry operation returns.

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?

The description is a single concise sentence with the key verb and resource front-loaded, followed by a compact op enumeration. The second sentence is slightly redundant but serves as a useful quick reference.

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

Completeness3/5

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

The description is workable for a four-operation dispatcher with a well-covered schema, but it omits important context such as which window is affected and how geometry results are returned. Since there is no output schema, this leaves some ambiguity for the agent.

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 coverage is 100%, with each parameter already described including conditional requirements like 'required only for move' and 'required only for resize'. The description's op list adds little beyond what the schema already provides, so the baseline score of 3 is appropriate.

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?

The description clearly identifies the resource (window) and the specific operations it supports (focus, resize, move, geometry) with a compact enumeration. It is understandable and distinct from many siblings, though it doesn't explicitly contrast with tools like glass_move or glass_select_window.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to choose this tool versus sibling tools such as glass_move or glass_select_window. The operation list implies its intended use, but no exclusions or alternative routing are given.

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