Windows computer-use MCP server with a human-in-the-loop approval gate. Screenshot, mouse, keyboard, UI Automation and OCR — and every risky action waits for a real human click.
Strong tool definitions with comprehensive schemas and clear descriptions. All 17 tools have explicit input schemas with typed parameters and descriptions. Tool names follow verb_noun convention (screenshot, click, type, etc.). Descriptions are detailed (100-250 chars typical) and explain WHAT, WHEN, and WHY. Risk annotations (READ_ONLY, WRITE, IRREVERSIBLE) are present and valuable. However, output schemas are not documented, LLMs cannot predict return structure. Error handling guidance is minimal in tool descriptions. Some parameter descriptions could be more prescriptive about constraints (e.g., coordinate ranges, timeout bounds). The batch tool lacks detail on step structure.
Get information about the currently active (foreground) window.
Execute multiple operations in sequence.
Click the mouse at a position.
Click a UI element found by UI Automation.
Get the current mouse cursor position in virtual-desktop pixels.
Find UI elements in a window using UI Automation.
Press keyboard keys or key combinations.
Output schemas not documented. LLMs cannot predict return structure (fields, types, pagination). Tools like list_windows, find_elements, ui_tree should document what fields they return and in what format.
batch tool description is vague ('Execute multiple operations in sequence'). Does not explain step structure, error handling on partial failure, or what 'operation' means. LLMs cannot infer how to construct steps.
Numeric parameters lack explicit bounds. screenshot max_side, ocr max_words, wait_for_change timeout_ms have no min/max constraints in descriptions. LLMs may pass absurd values (timeout_ms=999999999).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Launch an application.
List all visible windows on the desktop.
Move the mouse cursor to a position.
Perform optical character recognition on a screen region.
Get a hash of the current screen content for change detection.
Capture the screen (or a rectangular region) as an image. Coordinates are physical pixels of the virtual desktop, the same space that click/mouse_move use. Omit all region args for the full screen. The image is downscaled when its longest side exceeds max_side; use zoom for native-resolution detail.
Type text into the focused window.
Get the UI Automation tree structure of a window.
Wait for the screen content to change.
Capture a small region at native resolution — use this to read fine detail such as UI labels or icons.
Error handling guidance missing from tool descriptions. No recovery hints (e.g., 'If find_elements returns empty, try ui_tree to explore the window structure'). Agents cannot self-correct on failures.
key parameter 'combo' accepts free-form strings with no enum or pattern constraint. LLMs may hallucinate invalid key combinations (e.g., 'super+q' instead of 'alt+f4'). Should document valid syntax or provide enum examples.