Clara Windows UI MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Clara Windows UI MCP List all open windows and focus the game window"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Clara Windows UI MCP
Local-only MCP server for Windows UI automation oriented toward difficult targets such as game windows, legacy desktop apps, and surfaces that do not expose UI Automation reliably.
Why this exists
The built-in computer-use flow is convenient, but it can struggle with windows that render through game engines or custom graphics pipelines. This MCP takes a lower-level path:
enumerate and focus windows through
HWNDdrive mouse and keyboard input through native Win32 APIs
capture the desktop or a target window to PNG files
expose the same behavior through MCP stdio and a small local HTTP API
Related MCP server: OmniFlow
Current toolset
list_windowsget_foreground_windowfocus_windowcapture_screenmove_mouseclick_mousepress_keytype_text
Vision foundation
The src/domain/vision module defines the shared, consumer-facing vision contract:
SceneObservationcarries capture provenance, OCR, and detection results.SceneEventleaves room for optional temporal change notifications.VisionProfileRegistryisolates examples, training-set references, and rules byapplicationId.
Capture and detection implementations are intentionally not part of this foundation. Consumers should depend on the scene/event contract rather than detector internals.
Vision service and tray
The native projects use the same safe session boundary as the Clara Cursor:
ClaraVisionBroker Windows service -> local named pipe -> ClaraVisionTray user-session agentThe broker persists the high-level observation state (
pausedorobserving) and relays it locally.The tray shows that state and lets the user start or pause observation.
Neither component captures the desktop or performs automation. A future session agent will connect the existing opt-in capture pipeline only after a target selection and capture policy are defined.
Build native/ClaraVisionBroker and native/ClaraVisionTray in Release. Then
run scripts/install-vision-service.cmd from an elevated Command Prompt and
scripts/install-vision-tray.cmd from the interactive user session.
Run
npm.cmd install
npm.cmd run build
npm.cmd run start:stdioFor local diagnostics:
npm.cmd run start:apiArchitecture choices
run mode:
stdio,api, orbothdeployment profile: local-only
authentication: none
storage: local file output only for captures
organization: CQRS-style commands and queries with transport adapters
Notes
Screenshots are written under
captures/.This first version avoids UIA on purpose so it remains useful for games and canvas-rendered apps.
The next logical upgrade is target-aware matching by template image, pixel region, or OCR.
Available Tools
8 toolscapture_screenB
Capture the desktop or a specific window to a PNG file.
Inputs: selector, outputPath.
click_mouseC
Click at a screen coordinate using the selected mouse button.
Inputs: x (required), y (required), button (required), doubleClick (required).
focus_windowB
Bring a target window to the foreground by HWND or partial title match.
Inputs: handle, titleIncludes.
get_foreground_windowB
Get the current foreground window.
Inputs: no named parameters.
list_windowsA
List visible top-level windows with HWND, title, process info, bounds, and foreground state.
Inputs: no named parameters.
move_mouseC
Move the mouse cursor to an absolute screen coordinate.
Inputs: x (required), y (required).
press_keyB
Send a key sequence through SendKeys syntax, for example {ENTER} or ^a.
Inputs: key (required).
type_textB
Type text through SendKeys with special characters escaped.
Inputs: text (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool targets a distinct action: listing windows, getting foreground, focusing, capturing, mouse movement/click, and keyboard input. No overlap in purpose, unambiguous.
All tool names follow a consistent verb_noun pattern (list_windows, get_foreground_window, capture_screen, etc.) with snake_case, perfectly predictable.
8 tools is well-scoped for a Windows UI automation server, covering window management, screen capture, and input simulation without bloat or thinning.
The set covers core UI automation workflows (window handling, mouse/keyboard input, screenshot). Minor gaps like reading window properties or mouse scroll are not critical but could be added.
Related MCP Connectors
Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.
Securely control computers you explicitly pair through files, terminals, processes, screenshots, desktop UI/input, clipboard, browser automation, diagnostics, and document tools.
Connect ChatGPT, Claude, Cursor or VS Code to your Windows PC: files, terminal, browser, apps.
Control your authorized Windows computers via OAuth: files, shell, apps, and task status.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables comprehensive Windows desktop automation including screen capture, OCR text extraction, mouse/keyboard control, window management, process control, and clipboard operations through 25+ tools for AI agents.8MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to automate Windows desktop applications through window manipulation, image recognition, OCR, keyboard/mouse simulation, and memory operations via the MCP protocol.MIT
- FlicenseNot gradedqualityDmaintenanceEnables automation of native Windows desktop applications through screen capture, mouse/keyboard control, and waiting for UI changes, exposing them as MCP tools.1-
- AlicenseNot gradedqualityDmaintenanceProvides desktop automation tools for Windows, enabling mouse and keyboard control, screenshots, clipboard management, and application interaction via the MCP protocol.119 npmMIT