Skip to content

Latest commit

 

History

History
81 lines (51 loc) · 5.71 KB

File metadata and controls

81 lines (51 loc) · 5.71 KB

zRover — Autonomous App Control for AI Agents on Windows

zRover gives development AI agents control over Windows apps, closing the inner loop so agents can test their own changes autonomously — no human in the middle to click through the UI after every code change.

It is built on the Model Context Protocol (MCP) and exposes screenshot capture, input injection, app-defined action dispatch, package management, and more as MCP tools that any AI agent or test harness can call over HTTP.

Warning: zRover is fundamentally a tool that allows to install unsigned software and inject input into your device, and therefore introduces security risks. We recommend to only use it in test devices and trusted local networks. For more information, read the Security Considerations guide. See also the Privacy Policy.

Components

zRover is composed of two independent components that can be used separately or combined for a full end-to-end solution:

Component What it does
In-app integration (zRover.Uwp / zRover.WinUI) A NuGet library you drop into your UWP or WinUI 3 app. It exposes the app's UI and actions directly to any connected agent — UWP launches a FullTrust companion process, WinUI 3 hosts the MCP server in-process.
Background service (zRover Retriever) A standalone Windows service (packaged MSIX) that provides app management (install, update, launch) and multi-device federation. When running, it becomes the single MCP entry point for all interactions across every app that uses the in-app integration, so agents only need one connection to reach everything.

Use the in-app integration alone when you only need to control a single app. Add the background service when you also need to deploy builds, manage the app lifecycle, or federate multiple devices. Together they form the complete inner loop: an agent can deploy a new build, launch the app, interact with its UI through a single MCP endpoint, and verify the result — all without human involvement.

Add zRover to Your UWP or WinUI 3 App

Install the matching NuGet package and integrate in a few lines of code:

# UWP apps
dotnet add package zRover.Uwp --prerelease

# WinUI 3 (Windows App SDK) apps
dotnet add package zRover.WinUI --prerelease

See the Integration Guide for complete setup instructions for both platforms — manifest configuration, MCP client setup for VS Code / Claude / Cursor / Windsurf, the full tool reference (22 tools), and troubleshooting (or just point your agent to this .md and ask it to set it up for you).

Connect an MCP Client

Once your app is running, point any MCP client at http://localhost:5100/mcp:

Install in VS Code Install in VS Code Insiders Install in Visual Studio

See Connecting MCP Clients for manual configuration for each client.

Install zRover Retriever

zRover Retriever is the packaged Windows app that runs the MCP endpoint, manages package installs, and federates multi-device sessions. It is distributed as a signed MSIX via GitHub Releases.

One-time setup (run as admin, PowerShell)

The package is signed with a self-signed certificate that must be trusted before installation.

# Resolve latest release asset URLs from GitHub API
$release = Invoke-RestMethod https://api.github.com/repos/arcadiogarcia/zRover/releases/latest
$cerUrl  = ($release.assets | Where-Object { $_.name -like '*.cer'  }).browser_download_url
$msixUrl = ($release.assets | Where-Object { $_.name -like '*.msix' }).browser_download_url

# 1. Trust the signing certificate (one-time, requires admin)
$cer = "$env:TEMP\zRover.cer"
Invoke-WebRequest $cerUrl -OutFile $cer
Import-Certificate -FilePath $cer -CertStoreLocation Cert:\LocalMachine\TrustedPeople
Remove-Item $cer

# 2. Install (or update) the MSIX for all users
$msix = "$env:TEMP\zRover.Retriever.msix"
Invoke-WebRequest $msixUrl -OutFile $msix
Add-AppxProvisionedPackage -Online -PackagePath $msix -SkipLicense
Remove-Item $msix

Updating: Run only step 2 for subsequent releases. The certificate only needs to be trusted once per machine. Add-AppxProvisionedPackage installs the app for all users on the machine.

Download links and release notes for all versions are on the Releases page.

MCP Tools

zRover exposes 22 tools across screenshot capture, touch/mouse, keyboard, pen, gamepad input, app-defined action dispatch, diagnostic logging, XAML UI tree inspection, window management, and condition polling. All input tools use normalized coordinates (0.0–1.0) by default.

See the full tool reference for parameters, coordinate spaces, and dry-run preview support.

Contributing

See the Developer Guide for architecture, project structure, build instructions, and how to run the test suite.