trackmcp
Back to directory
hetaoBackend

mcp-pyautogui-server

View on GitHub

A MCP (Model Context Protocol) server that provides automated GUI testing and control capabilities through PyAutoGUI.

46 stars PythonOthers Updated Jul 3, 2026

Documentation

mcp-pyautogui-server

smithery badge

A MCP (Model Context Protocol) server that provides automated GUI testing and control capabilities through PyAutoGUI.

Features

  • Control mouse movements and clicks
  • Simulate keyboard input
  • Take screenshots
  • Find images on screen
  • Get screen information
  • Cross-platform support (Windows, macOS, Linux)

Tools

The server implements the following tools:

Mouse Control

  • Move mouse to specific coordinates
  • Click at current or specified position
  • Drag and drop operations
  • Get current mouse position

Keyboard Control

  • Type text
  • Press individual keys
  • Hotkey combinations

Screen Operations

  • Take screenshots
  • Get screen size
  • Find image locations on screen
  • Get pixel colors

Installation

Prerequisites

  • Python 3.12+
  • PyAutoGUI
  • Other dependencies will be installed automatically

Install Steps

Install the package:

bash
pip install mcp-pyautogui-server

Claude Desktop Configuration

On MacOS:

bash
~/Library/Application\ Support/Claude/claude_desktop_config.json

On Windows:

bash
%APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration:

json
{
  "mcpServers": {
    "mcp-pyautogui-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-pyautogui-server",
        "run",
        "mcp-pyautogui-server"
      ]
    }
  }
}

Published Servers Configuration:

json
{
  "mcpServers": {
    "mcp-pyautogui-server": {
      "command": "uvx",
      "args": [
        "mcp-pyautogui-server"
      ]
    }
  }
}

Development

Building and Publishing

1. Sync dependencies and update lockfile:

bash
uv sync

2. Build package distributions:

bash
uv build

3. Publish to PyPI:

bash
uv publish

Note: Set PyPI credentials via environment variables or command flags:

  • Token: `--token` or `UV_PUBLISH_TOKEN`
  • Username/password: `--username`/`UV_PUBLISH_USERNAME` and `--password`/`UV_PUBLISH_PASSWORD`

Debugging

For the best debugging experience, use the MCP Inspector.

Launch the MCP Inspector via npm:

bash
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-pyautogui-server run mcp-pyautogui-server

The Inspector will display a URL that you can access in your browser to begin debugging.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Frequently asked questions

What is mcp-pyautogui-server?

mcp-pyautogui-server is A MCP (Model Context Protocol) server that provides automated GUI testing and control capabilities through PyAutoGUI.

How do I install mcp-pyautogui-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-pyautogui-server open source?

Yes — it is hosted on GitHub at https://github.com/hetaoBackend/mcp-pyautogui-server and has 46 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP