Metadata-Version: 2.4
Name: mcp-pyautogui
Version: 0.0.1
Summary: A powerful MCP server for PyAutoGUI
Home-page: https://github.com/hathibelagal-dev/mcp-pyautogui
Author: Ashraff Hathibelagal
Project-URL: Source, https://github.com/hathibelagal-dev/mcp-pyautogui
Project-URL: Tracker, https://github.com/hathibelagal-dev/mcp-pyautogui/issues
Keywords: ai mcp claude llm llama pyautogui
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyautogui
Requires-Dist: mcp
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# MCP Server for PyAutoGUI 

`mcp-pyautogui` implements a **Model Context Protocol (MCP)** server for **PyAutoGUI**. It provides control of mouse, keyboard, and screen interactions, allowing AI systems to automate tasks on a host machine.

The server runs over `stdio` transport and provides tools for clicking, typing, taking screenshots, and more, with a focus on simplicity and reliability. It’s designed for developers and AI enthusiasts looking to integrate desktop automation into their workflows.

## Features

- Control mouse movements, clicks, and drags.
- Simulate keyboard input (single keys, text, hotkeys).
- Capture screenshots and retrieve mouse position.
- Get the current operating system for platform-specific logic.
- Consistent error handling with boolean success indicators (where applicable).

## Prerequisites

- **Python 3.11+**

## Usage
The server runs over `stdio` transport, meaning it communicates through standard input/output. To use it, connect an MCP-compatible client (e.g., an AI assistant or custom script) that can send JSON-RPC commands and receive responses.

# Example Commands

- Click at (100, 200): `click(100, 200)` → Returns true if successful.
- Type "hello": `type_text("hello")` → Returns true.
- Take a screenshot: `take_screenshot("screenshot.png")` → Saves to screenshot.png.
- Get mouse position: `get_mouse_position()` → Returns (500, 300) (example).
- Copy text: `hotkey("ctrl c")` → Returns true.
- Get current operating system: `get_os()` → Returns "Windows" (if on Windows).

