Skip to main content

MCP server for simplest GUI agent 🕹️🤖

pyautogui_mcp_server packages a Streamable HTTP MCP server for running Python code with pyautogui instrumentation.

It is designed for GUI automation workflows where plain pyautogui execution is not enough. The package adds MCP-friendly output handling, and richer screenshots.

✨ What this package adds

Compared with running raw pyautogui calls directly, this library adds extra effort in the following areas:

  • Shared Python globals across tool calls.
  • Captured stdout, stderr, and final expression results in one MCP response stream.
  • Inline screenshot delivery as MCP image content instead of requiring manual file handling.
  • Annotated mouse-operation previews that show the target point or path before the action runs.
  • Screenshot normalization so captured images line up better with logical screen coordinates.

🛠️ Tool response example

<stdout>
Cut the right rope by dragging left to right through it.
</stdout>
<pyautogui-mcp.dragTo x=860 y=430 duration=0.2 button='left' 
    time_offset="T+1.1s" pyautogui.size=(1440, 900)>
cut-the-rope-by-gui-agent
</pyautogui-mcp.dragTo>

📦 Installation

pip install pyautogui_mcp_server

For local development:

pip install -e .[dev]

🚀 Run the MCP server

Use the module entrypoint:

python -m pyautogui_mcp_server --host 127.0.0.1 --port 9300

Or use the installed console script:

pyautogui-mcp-server --port 9300

Show CLI help:

python -m pyautogui_mcp_server --help

The server exposes a run_python_with_pyautogui MCP tool that executes Python with instrumented pyautogui behavior.

📄 License

MIT

Metadata

Release files for pyautogui-mcp-server 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyautogui-mcp-server 0.1.3
File Size Uploaded
pyautogui_mcp_server-0.1.3.tar.gz 16.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyautogui-mcp-server 0.1.3
File Interpreter ABI Platform
pyautogui_mcp_server-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 31.1 kB

Release files / pyautogui_mcp_server-0.1.3.tar.gz

Download URL pyautogui_mcp_server-0.1.3.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e7b11f2cea62d2dad9b4f8c097a3892cf05482cfb9523e9eaedaa8807c769f64
BLAKE2b-256 checksum
How to use checksums
01f18fb8bfad0b28a2782dee14904efd166a4ccf4d12d50264b34cd33a9add26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.7

Release files / pyautogui_mcp_server-0.1.3-py3-none-any.whl

Download URL pyautogui_mcp_server-0.1.3-py3-none-any.whl
Size 15.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20f162b69e1c562e09a7045e6aed0e94960b4892d4e39b386d42f00068a4fdc0
BLAKE2b-256 checksum
How to use checksums
6f8609a5f7414783d3cf2ebbf5ea82b31630189a3cb09797efbb4ead5236e3ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.7

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page