Skip to main content
ClaudeWave
trsdn avatar
trsdn

mcp-server-uiautomation

View on GitHub

Windows UI Automation toolkit with CLI, MCP server, and VS Code extension.

MCP ServersOfficial Registry1 stars0 forksC#MITUpdated today
ClaudeWave Trust Score
95/100
Verified
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Last scanned: 8/21/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/trsdn/mcp-server-uiautomation
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/trsdn/mcp-server-uiautomation and follow its README for install instructions.
Use cases

MCP Servers overview

# UIAutomationMcp

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![.NET](https://img.shields.io/badge/.NET-9-blue.svg)](https://dotnet.microsoft.com/download/dotnet/9.0)
[![Platform](https://img.shields.io/badge/platform-Windows-lightgrey.svg)](https://learn.microsoft.com/windows/win32/winauto/entry-uiauto-win32)

Windows UI Automation toolkit with three aligned entry points:
- CLI (`uiamcp`)
- MCP server (`UIAutomationMcp.McpServer`)
- VS Code extension (`uia-mcp`)

## Install

**VS Code extension** (recommended) — search for "UI Automation MCP" in the Marketplace, or
install the `UIAutomationMcp-<version>.vsix` from the
[latest release](https://github.com/trsdn/mcp-server-uiautomation/releases/latest).
Self-contained; bundles the MCP server, the CLI, and both agent skills.

**Claude Desktop** — download `uia-mcp-<version>.mcpb` from the latest release and
double-click it.

**NuGet .NET tools**

```powershell
dotnet tool install --global UIAutomationMcp.McpServer   # MCP server -> uiamcp-server
dotnet tool install --global UIAutomationMcp.CLI         # CLI        -> uiamcp
```

**Standalone ZIP** — `UIAutomationMcp-MCP-Server-<version>-windows.zip` contains the
self-contained MCP server and CLI; no .NET runtime required.

Requires Windows and an interactive desktop session. UI Automation cannot run headless.

## 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, including caret position, annotation runs such as spelling errors, and the containing document of an inline element
- 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, range-value updates, view switching, docking, realizing virtualized items, and MSAA default actions
- finds items that a virtualizing list has not materialized yet by asking the container directly, so a search for the 250th row of a 300-row list works without scrolling
- reports drag and drop state (`isGrabbed`, drop effects, grabbed items) so an in-progress drag can be observed, and resolves automation events to readable names such as `Drag_DragStart`
- reads MSAA data through the LegacyIAccessible bridge, so Win32, MFC, and installer windows that expose no native UI Automation provider still report usable names, roles, states, and a runnable default action
- reads tabular controls as a cell matrix with row and column headers
- exposes the same expanded surface through CLI and MCP
- packages the CLI and MCP server inside the VS Code extension

## Repository layout
- `src\UIAutomationMcp.ComInterop`
- `src\UIAutomationMcp.Service`
- `src\UIAutomationMcp.CLI`
- `src\UIAutomationMcp.McpServer`
- `src\UIAutomationMcp.Smoke`
- `vscode-extension`
- `mcpb` — Claude Desktop bundle sources and build script
- `skills` — agent skills for `uia-cli` and `uia-mcp`

## Build and validate
```powershell
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
```

## Related docs
- [UI Automation COM Reference](docs/UIAUTOMATION-COM-REFERENCE.md)
- [Installation Guide](docs/INSTALLATION.md)
- [Development Workflow](docs/DEVELOPMENT.md)
- [Contributing](docs/CONTRIBUTING.md)

accessibilityaiautomationclaudedesktop-automationdotnetgithub-copilotmcpmodel-context-protocolui-automationuiawindows

What people ask about mcp-server-uiautomation

What is trsdn/mcp-server-uiautomation?

+

trsdn/mcp-server-uiautomation is mcp servers for the Claude AI ecosystem. Windows UI Automation toolkit with CLI, MCP server, and VS Code extension. It has 1 GitHub stars and its last recorded update is dated 2026-08-21.

How do I install mcp-server-uiautomation?

+

You can install mcp-server-uiautomation by cloning the repository (https://github.com/trsdn/mcp-server-uiautomation) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is trsdn/mcp-server-uiautomation safe to use?

+

Our security agent has analyzed trsdn/mcp-server-uiautomation and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains trsdn/mcp-server-uiautomation?

+

trsdn/mcp-server-uiautomation is maintained by trsdn. The last recorded GitHub activity is dated 2026-08-21, with 1 open issues.

Are there alternatives to mcp-server-uiautomation?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy mcp-server-uiautomation to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: trsdn/mcp-server-uiautomation
[![Featured on ClaudeWave](https://claudewave.com/api/badge/trsdn-mcp-server-uiautomation)](https://claudewave.com/repo/trsdn-mcp-server-uiautomation)
<a href="https://claudewave.com/repo/trsdn-mcp-server-uiautomation"><img src="https://claudewave.com/api/badge/trsdn-mcp-server-uiautomation" alt="Featured on ClaudeWave: trsdn/mcp-server-uiautomation" width="320" height="64" /></a>