Skip to main content
Glama

update_window

Modify a Firefox window's position, size, state, or focus using a profile and window ID.

Instructions

Update window properties

profile_id is required: obtain it from profiles_list. All object IDs are local to that profile; never reuse them in another profile.

Input Schema

NameRequiredDescriptionDefault
topNoNew window top position in pixels
leftNoNew window left position in pixels
stateNoNew window state ("normal", "minimized", "maximized", "fullscreen")
widthNoNew window width in pixels
heightNoNew window height in pixels
focusedNoTrue brings the window to the front. False is refused: Firefox cannot take focus away from a window, so call focus_window on the window that should have it instead.
window_idYesThe ID of the window to update
profile_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.6.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations at all, the description carries the full burden, and it does add one genuinely non-obvious constraint: object IDs are profile-local and must never be reused across profiles. It omits other important behavior for a mutation tool — whether omitted/null parameters leave existing values untouched, whether the window must already exist, and what happens on failure.

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 sentences and a header line, with the hard requirement and the ID-scoping warning front-loaded before any optional detail. No filler.

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?

For an 8-parameter mutation tool with zero annotations and an output schema, the description covers the multi-profile scoping hazard well but says nothing about partial-update semantics (what null defaults mean) or error conditions. An agent could still call it, but with avoidable uncertainty about whether unsent fields are preserved.

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 88%, so the schema already explains top/left/width/height/state/focused in detail, including the focus-refusal rule. The description's only parameter contribution is the provenance rule for profile_id (the one field with no schema description), which is helpful but narrow — 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 and resource ("Update window properties") that an agent can map cleanly onto the sibling set of window operations. It does not, however, distinguish this from focus_window or create_window in the description text itself; that routing only appears buried in the schema's `focused` parameter note.

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 supplies a real prerequisite — profile_id must come from profiles_list — which is useful operational guidance. It gives no when-to-use/when-not guidance relative to close_window, create_window, or focus_window, so the agent must infer that this is for mutating an existing window's geometry/state.

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