MCP Windows Desktop Automation

by mario-andreschak
Verified

Integrations

  • Provides Windows desktop automation capabilities by wrapping the AutoIt library, enabling control of mouse operations, keyboard input, window management, UI controls, processes, and system operations on Windows systems.

  • Implemented with strict TypeScript typing throughout, allowing type-safe development and usage of the MCP server for Windows desktop automation tasks.

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

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Overview
    1. Features
      1. Installation
        1. Usage
          1. Starting the Server
          2. Command Line Options
        2. Tools
          1. Resources
            1. Prompts
              1. Development
                1. License