MCP Windows Desktop Automation
A Model Context Protocol server that wraps AutoIt functionality, enabling LLMs to automate Windows desktop tasks including mouse/keyboard operations, window management, and UI control interactions.
mario-andreschak
README
MCP Windows Desktop Automation
A Model Context Protocol (MCP) server for Windows desktop automation using AutoIt.
Overview
This project provides a TypeScript MCP server that wraps the node-autoit-koffi package, allowing LLM applications to automate Windows desktop tasks through the MCP protocol.
The server exposes:
- Tools: All AutoIt functions as MCP tools
- Resources: File access and screenshot capabilities
- Prompts: Templates for common automation tasks
Features
- Full wrapping of all AutoIt functions as MCP tools
- Support for both stdio and WebSocket transports
- File access resources for reading files and directories
- Screenshot resources for capturing the screen or specific windows
- Prompt templates for common automation tasks
- Strict TypeScript typing throughout
Installation
# Clone the repository
git clone https://github.com/yourusername/mcp-windows-desktop-automation.git
cd mcp-windows-desktop-automation
# Install dependencies
npm install
# Build the project
npm run build
Usage
Starting the Server
# Start with stdio transport (default)
npm start
# Start with WebSocket transport
npm start -- --transport=websocket --port=3000
# Enable verbose logging
npm start -- --verbose
Command Line Options
--transport=stdio|websocket
: Specify the transport protocol (default: stdio)--port=<number>
: Specify the port for WebSocket transport (default: 3000)--verbose
: Enable verbose logging
Tools
The server provides tools for:
- Mouse operations: Move, click, drag, etc.
- Keyboard operations: Send keystrokes, clipboard operations, etc.
- Window management: Find, activate, close, resize windows, etc.
- Control manipulation: Interact with UI controls, buttons, text fields, etc.
- Process management: Start, stop, and monitor processes
- System operations: Shutdown, sleep, etc.
Resources
The server provides resources for:
- File access: Read files and list directories
- Screenshots: Capture the screen or specific windows
Prompts
The server provides prompt templates for:
- Window interaction: Find and interact with windows
- Form filling: Automate form filling tasks
- Automation tasks: Create scripts for repetitive tasks
- Monitoring: Wait for specific conditions
Development
# Run in development mode
npm run dev
# Lint the code
npm run lint
# Run tests
npm run test
License
MIT
Recommended Servers
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Beamlit MCP Server
An MCP server implementation that enables seamless integration between Beamlit CLI and AI models using the Model Context Protocol standard.
ThingsPanel MCP
An integration server that connects AI models with ThingsPanel IoT platform, allowing AI assistants to interact with IoT devices through natural language for device control, data retrieval, and management operations.

systemd-coredump MCP Server
Enables MCP-capable applications to access, manage, and analyze system core dumps through integration with systemd-coredump functionality.
Terminal Controller for MCP
An MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.
Apple Shortcuts Server
An MCP Server Integration with Apple Shortcuts

mac-apps-launcher
An MCP server to list and launch applications on MacOS
applescript-mcp
Enables LLM applications to interact with macOS through AppleScript.
Bazel MCP Server
A local MCP server that exposes Bazel build system functionality to AI agents, allowing them to build, test, query, and manage Bazel projects through natural language even in environments where Bazel can't be directly accessed.