windows2-mcp
# wincore-mcp
MCP server exposing Windows desktop UI Automation as tools for AI agents, built on top of [appium-wincore-driver](https://github.com/verisoft-ai/appium-wincore-driver).
Previously shipped as `desktop-driver-mcp` inside `appium-wincore-driver`; now split into its own package so the MCP server and the Appium driver can be installed, versioned, and released independently.
## Prerequisites
- An Appium server running with `appium-wincore-driver` installed:
```bash
npm install -g appium
appium driver install --source=npm appium-wincore-driver
appium --port 4723
```
## Install
```bash
npm install -g wincore-mcp
```
or run directly with `npx wincore-mcp`.
## Configure
Environment variables (read at startup):
| Variable | Default | Description |
|---|---|---|
| `APPIUM_HOST` | `127.0.0.1` | Host of the running Appium server |
| `APPIUM_PORT` | `4723` | Port of the running Appium server |
## MCP client config
```json
{
"mcpServers": {
"wincore-mcp": {
"command": "npx",
"args": ["-y", "wincore-mcp"],
"env": {
"APPIUM_HOST": "127.0.0.1",
"APPIUM_PORT": "4723"
}
}
}
}
```
## Tools
See [docs/TOOLS.md](docs/TOOLS.md) for the full tool reference (~85 tools across session
management, element discovery, interaction, UIA patterns, window management, vision, and more),
generated from the current tool source.
## Development
```bash
npm install
npm run build
npm run test
npm run lint
```
## License
Apache-2.0
TDQS
Scored across 87 tools
Most tools have distinct purposes, but there is overlap between window management tools (maximize_window vs maximize_current_window, similar for minimize and restore) which could cause confusion. Also, analyze_screen and find_by_vision serve similar visual analysis needs, though their descriptions clarify different use cases.
The majority of tools use a consistent verb_noun pattern (e.g., find_element, click_element, get_text). However, a few tools break the pattern, such as switch_to_window_by_title (longer than necessary) and the use of 'and' in click_and_drag. Overall, the naming is predictable with minor inconsistencies.
With 87 tools, the server covers an immense amount of functionality for Windows application automation. While each tool seems justified by the complexity of the domain, the count is at the high end and could be overwhelming. Some advanced input tools (advanced_click, perform_actions, click_and_drag) might benefit from consolidation.
The server covers a comprehensive range of actions: session management, element finding, interaction, window handling, keyboard/mouse input, UIA patterns, and file operations. Notable gaps are minimal, such as the lack of a direct tool for taking a full screenshot (only element screenshot and screen recording available) and the IE-only context switching tools.