Cross-platform desktop and browser automation test platform with MCP integration for automation session management, window control, element detection, and action execution.
SimulateInput defines 18 tools with explicit schemas and basic descriptions. All tools have input schemas with proper JSON Schema structure (type, properties, required, additionalProperties). However, descriptions are uniformly terse (10-30 chars), parameter descriptions are entirely absent, and output schemas are not documented. No error handling guidance, no parameter constraints (enums, ranges), and no indication of which operations are destructive vs. safe. Tool names follow verb_noun convention (start_session, list_windows, click_text) but lack context about side effects. The server is functional but falls short of production-grade quality, descriptions do not guide LLM selection, parameters lack validation hints, and error recovery is opaque.
Attach to a window by title or explicit window id.
Capture a screenshot of the active or specified window.
Clear the currently focused text field in the active or specified window.
Click inside the active or specified window using relative coordinates.
Click the first image template match inside the active or specified window.
Click the first OCR text match inside the active or specified window.
Click the first text match inside the active or specified window.
Parameter descriptions entirely absent. No tool documents what session_id, window_id, x, y, text, or other parameters mean or accept. LLMs cannot infer parameter semantics from names alone.
Tool descriptions are uniformly terse (10-30 chars). Baseline for A+ tools is 50-200 chars. Descriptions do not explain WHEN to use each tool, what it returns, or how it differs from similar tools (e.g., find_text vs find_uia vs find_ocr_text).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Click the first UIA match inside the active or specified window.
Drag inside the active or specified window using relative coordinates.
Find an image template inside the active or specified window.
Find OCR text regions inside the active or specified window.
Find visible text targets inside the active or specified window.
Find UIA controls inside the active or specified window.
Press a key chord (multiple keys in sequence) in the active or specified window.
List visible windows for the current platform driver.
Press a single key in the active or specified window.
Start an automation session with a named profile.
Type text into the active or specified window.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., what does find_text return? coordinates? text snippets? window references?). Breaks tool chaining.
Destructive operations (click, drag, type_text, press_key, hotkey, clear_text) lack dry_run or confirmation patterns. Agents can accidentally trigger unintended UI actions. No error recovery guidance.
No parameter constraints (enums, ranges, patterns). E.g., 'key' in press_key accepts any string; 'threshold' in find_image has no bounds; 'duration_ms' in drag is unbounded. LLMs will pass invalid values.