WinApp MCP
Windows · MCP · Open Source

Playwright for
Windows Desktop Apps

Give AI agents eyes and hands on any native Windows application. Click buttons, fill forms, take screenshots, read UI trees — all through the Model Context Protocol.

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

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. Built entirely with GitHub Copilot. Connects to AI assistants via the standard Model Context Protocol.

🤖
AI Assistant
MCP
WinApp MCP
UIA3
🖥️
Windows App

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. Fast repeat lookups.

🪟

Works Minimized

WM_PRINT-based rendering captures screenshots even when the app window is minimized or behind others.

📸

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.

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 el
  • 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

Install Anywhere

One MCP server, multiple ways to install. Pick your AI client and get started in seconds.

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

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, and built for the MCP ecosystem.