Windows · MCP · Open Source

Playwright for Windows Desktop Apps

Give AI agents eyes and hands on any native Windows application. Click, type, drag, screenshot, read UI trees — all through the Model Context Protocol.

Works with VS Code Copilot · Claude · Cursor · Windsurf · Cline

Install Now View Source
55
MCP Tools
10
Categories
MIT
License
5+
AI Clients

How It Works

A .NET 10 MCP server that uses FlaUI (UI Automation) to interact with any Windows app. Connects to AI assistants via the standard Model Context Protocol.

AI Assistant Copilot / Claude
MCP
WinApp MCP .NET 10 / FlaUI
UIA3
Windows App Any framework

Capabilities

Why WinApp MCP

Built to cover every edge case in Windows desktop automation — from minimized windows to locked sessions.

55 Tools

Complete coverage — click, type, drag, form fill, screenshots, visual diff, grid access, event monitoring.

Fuzzy Search

Levenshtein-distance matching finds elements even with typos and partial names. No brittle selectors.

2-Tier Cache

Descendant cache (2s TTL) + window cache (30s TTL) with automatic invalidation for fast repeat lookups.

Works Minimized

WM_PRINT-based rendering captures screenshots even when the app is minimized or behind other windows.

Visual Testing

Annotated screenshots with bounding boxes, pixel-diff comparison, and token-aware resizing for LLMs.

All Frameworks

WinUI3, WPF, WinForms, Win32, Electron, UWP — if it runs on Windows, WinApp MCP can automate it.

Locked Sessions

UIA pattern fallback keeps working even when the desktop is locked. Reports available operations.

Event Monitoring

Subscribe to focus, structure, and property change events. Watch UI state changes in real-time.

Multi-Client

One server, many clients. Works with VS Code Copilot, Claude Desktop, Cursor, Windsurf, and Cline.

Reference

All 55 Tools

Organized into 10+ categories, covering the full spectrum of Windows UI automation.

App Lifecycle 5
  • launch_app Launch by path
  • attach_to_app Attach by name
  • attach_to_pid Attach by PID
  • close_app Close tracked app
  • list_apps List tracked apps
Discovery 7
  • list_windows App windows
  • list_desktop_windows All windows
  • get_snapshot UI tree
  • get_focused_element Focused element
  • find_elements Filter search
  • find_all_elements All matches
  • find_elements_fuzzy Fuzzy match
Read & Inspect 5
  • read_element Properties
  • read_element_by_index By index
  • get_element_bounds Bounds rect
  • element_exists Bool check
  • get_all_values All values
Click & Interact 8
  • click_element Click by id/name
  • double_click_element Double-click
  • right_click_element Right-click
  • click_at_coordinates Screen coords
  • invoke_element UIA invoke
  • select_option Dropdown select
  • expand_collapse_element Tree toggle
  • drag_element Drag & drop
Input 4
  • type_text Type into field
  • press_key Single key
  • press_key_combo Key combo
  • fill_form Batch fill
Wait & Sync 4
  • wait_for_element Appear wait
  • wait_for_condition Property wait
  • wait_for_input_idle Input idle
  • release_all Release keys
Screenshots & Visual 5
  • take_screenshot Capture PNG
  • take_screenshot_optimized LLM-sized
  • annotate_screenshot Bounding boxes
  • screenshot_diff Pixel diff
  • get_tree_hash Change detect
HWND Multi-Window 3
  • click_element_hwnd Click by handle
  • set_value_hwnd Set by handle
  • get_snapshot_hwnd Snapshot handle
Advanced Patterns 6
  • get_grid_item DataGrid cell
  • find_item_by_property Container find
  • scroll_into_view Scroll visible
  • realize_virtualized_item Load virtual
  • scroll_element Scroll within
  • invalidate_cache Clear cache
Event Monitoring 3
  • start_event_monitor Start watch
  • stop_event_monitor Stop watch
  • get_event_log Read events
Session Management 5
  • restore_window Restore minimized
  • check_session_status Session check
  • get_clipboard Read clipboard
  • hover_element Mouse hover
  • set_element_value Set value

Get Started

Install Anywhere

One MCP server, multiple install methods. Pick your AI client.

VS Code + Copilot Recommended

Install from the VS Code Marketplace. Copilot auto-discovers the MCP server.

ext install BrijesharunG.winapp-mcp
npm / npx Universal

Run the server directly via npx — works with any MCP client.

npx winapp-mcp
Claude Desktop

Add to your Claude config file:

{
  "mcpServers": {
    "winapp": {
      "command": "npx",
      "args": ["-y", "winapp-mcp"]
    }
  }
}
Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "winapp": {
      "command": "npx",
      "args": ["-y", "winapp-mcp"]
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "winapp": {
      "command": "npx",
      "args": ["-y", "winapp-mcp"]
    }
  }
}
VSIX (Offline)

Download the .vsix file from GitHub Releases:

code --install-extension winapp-mcp-2.0.0.vsix

Benchmarks

How It Compares

Side-by-side with other Windows desktop MCP servers.

Feature WinApp MCP Windows-MCP uiautomation-mcp
Tools55~1539
UIA LibraryFlaUIFlaUIRaw COM
Caching 2-tier
Fuzzy Search
HWND Targeting FullPartial
Event Monitoring 3 typesFocus only
Grid Pattern
Virtualization
Screenshot Diff
Batch Form Fill
Token-aware Screenshots
Drag & Drop
Minimized App Support
Locked Session
VS Code Extension
npm Package
Multi-Client 5+VS Code only

Ready to automate Windows apps with AI?

Open source, MIT licensed, built for the MCP ecosystem.

Star on GitHub VS Code Marketplace npm Package