Skip to main content
Glama

computer

Destructive

Control mouse, keyboard, and screen for pixel-level desktop automation when accessibility targets are unavailable: capture screenshots, click, type, scroll, drag, and wait.

Instructions

Direct mouse/keyboard/screenshot control (Anthropic Computer-Use style). Pick an action: screenshot, screenshot_region, zoom, click, double_click, right_click, middle_click, triple_click, hover, move, move_relative, scroll, scroll_horizontal, drag, drag_path, mouse_down, mouse_up, type, key, key_press, key_down, key_up, wait. screenshot is the LAST RESORT for seeing the screen: first try accessibility read_tree/find/compile_ui (names + positions) or system copy_all_text (exact page text). Coordinates default to image-space pixels of the latest screenshot; pass space:"screen" to click a position reported by accessibility. Prefer accessibility for named targets; use computer only when you need pixel-level control.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xNoLeft edge X in image-space coordinates
yNoTop edge Y in image-space coordinates
dxNoX offset in image-space pixels
dyNoY offset in image-space pixels
keyNoAlias for "combo". Alias for combo — accepted for MCP/compound backward-compatibility.
endXNoEnd X in image-space
endYNoEnd Y in image-space
pathNoStepped drag path: array of {x,y} points (min 2). When given, startX/startY/endX/endY are ignored. Press at first point, release at last.
textNoThe text to type
comboNoKey/combo to press (e.g. "Return", "mod+s"). Space-separate for a sequence.
countNo1=single, 2=double
spaceNoCoordinate space. Omit (default) → image-space coords from the latest screenshot (the tool scales them to the screen). Pass "screen" → the positions an accessibility tree / find reports (@x,y), passed as reported, unscaled: physical pixels on Windows and Linux, POINTS on macOS (a Retina screenshot's "real" size is twice the point size).
widthNoWidth in image-space pixels
actionYesWhich sub-action to perform. See this tool's description for the enum of valid values.
amountNoWheel ticks (default 3)
buttonNoMouse button to click: "left" (default) or "right"
expectNoOptional post-conditions to verify after this action (same assertion types as the verify tool: window_title_contains, app_running, element_exists, element_value_contains, clipboard_contains, file_exists, file_contains, ocr_contains, file_changed_since_start). If any FAIL the action returns a DEVIATION and you must adapt. State an OUTCOME you can observe (a window title, a rendered element/chip, a status) — NOT the raw text you typed.
heightNoHeight in image-space pixels
startXNoStart X in image-space
startYNoStart Y in image-space
displayNoMonitor to capture (index from window list_displays). Default: the monitor clawdcursor last worked on, else the primary.
secondsNoDuration to wait (0.1 to 30)
directionNoScroll direction

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.21
    • changedInput schema / properties / space / description
      Previous value: -"Coordinate space. Omit (default) → image-space coords from the latest screenshot (scaled to physical pixels). Pass \"screen\" → a11y-snapshot coords (already physical, not scaled)."New value: +"Coordinate space. Omit (default) → image-space coords from the latest screenshot (the tool scales them to the screen). Pass \"screen\" → the positions an accessibility tree / find reports (@x,y), passed as reported, unscaled: physical pixels on Windows and Linux, POINTS on macOS (a Retina screenshot's \"real\" size is twice the point size)."
  2. First observedv1.5.16

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and non-idempotent, so the safety profile is partly covered. The description adds genuine behavioral context: coordinates default to image-space pixels and are scaled to the screen, space:"screen" uses unscaled reported positions (with a macOS point-vs-pixel caveat), and the expect parameter returns a DEVIATION on failed post-conditions requiring adaptation. It does not restate the destructive nature, but the added coordinate and verification semantics are substantive.

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?

Front-loaded with the core purpose, then the action enum, then routing guidance, so the most important selection signal (prefer accessibility) lands early. The long action enumeration is dense but earns its place by defining the dispatch surface. Minor redundancy in restating the enum, but no wasted prose.

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 23-parameter, multi-action tool with no output schema, the description covers dispatch, coordinate spaces, sibling routing, and post-condition verification. Annotations carry the safety profile. The one gap is that individual action-to-parameter mappings (which params apply to which of the 23 actions) rely entirely on the schema, but the overall behavioral envelope is well specified.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds cross-cutting meaning the schema alone does not: the default coordinate space is image-space scaled from the latest screenshot, and pass space:"screen" to click positions reported by accessibility. This resolves the ambiguity of how x/y map between capture and screen, which is the highest-risk semantic in the tool.

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 specific verb family and resource ('Direct mouse/keyboard/screenshot control') and enumerates the full set of sub-actions, so an agent knows exactly what capability this covers. It explicitly differentiates itself from siblings by naming accessibility and system as the preferred alternatives for named targets and text. No other sibling tool overlaps this pixel-level control scope.

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

Usage Guidelines5/5

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

Gives explicit when-to-use and when-not-to-use guidance: screenshot is the LAST RESORT, first try accessibility read_tree/find/compile_ui or system copy_all_text, prefer accessibility for named targets, and use computer only for pixel-level control. It names the alternative siblings and the condition that selects each, leaving nothing to inference.

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

Deploy Server

Other Tools