⚡
Uiautomation
Windows UI Automation toolkit with CLI, MCP server, and VS Code extension.
0 installs
Trust: 34 — Low
Automation
Ask AI about Uiautomation
Powered by Claude · Grounded in docs
I know everything about Uiautomation. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
UIAutomationMcp
Windows UI Automation toolkit with three aligned entry points:
- CLI (
uiamcp) - MCP server (
UIAutomationMcp.McpServer) - VS Code extension (
uia-mcp)
Lineage
This repository is part of the broader MCP automation lineage and intentionally keeps attribution to earlier work by Stefan Brönner.
It also keeps the historical reference to Excel MCP as a related sibling project in that lineage, even though this repository itself is focused on Windows UI Automation.
What it does
- boots a typed UI Automation client through
Interop.UIAutomationClient - reads rich desktop-root and focused-element metadata, including bounds, runtime IDs, and supported patterns
- resolves elements from native window handles and screen coordinates
- searches UIA trees by name, class name, automation id, framework id, control type, and process id
- enumerates immediate children from raw, control, or content tree views
- enumerates descendants from raw, control, or content tree views
- navigates the UIA tree with raw, control, and content walkers
- supports build-cache requests for inspection, search, and navigation
- reads text, selection, and key pattern states
- waits for focus, automation, property-changed, and structure-changed events
- performs common actions such as focus, invoke, set-value, toggle, expand/collapse, selection, window state changes, move/resize, scroll, and range-value updates
- exposes the same expanded surface through CLI and MCP
- packages the CLI and MCP server inside the VS Code extension
Repository layout
src\UIAutomationMcp.ComInteropsrc\UIAutomationMcp.Servicesrc\UIAutomationMcp.CLIsrc\UIAutomationMcp.McpServersrc\UIAutomationMcp.Smokevscode-extension
Build and validate
dotnet build .\UIAutomationMcp.sln -c Release
.\src\UIAutomationMcp.Smoke\bin\Release\net9.0-windows\UIAutomationMcp.Smoke.exe
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe inspect --root --cache
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe find --focused --scope children --max-results 10 --cache
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe children --focused --view raw --max-results 10
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe descendants --focused --view raw --max-results 25
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe wait-event --event-kind focus --timeout-ms 500
.\src\UIAutomationMcp.CLI\bin\Release\net9.0-windows\uiamcp.exe action focus --focused
