loading…
Search for a command to run...
loading…
Exposes PyAutoGUI desktop automation functions as MCP tools, enabling mouse control, keyboard input, and screenshot capture.
Exposes PyAutoGUI desktop automation functions as MCP tools, enabling mouse control, keyboard input, and screenshot capture.
PyAutoGUI-MCP exposes MCP tools dynamically from the PyAutoGUI API. It does not manually reimplement or wrap each function: it auto-registers the available API.
pip install pyautogui-mcp
Run the server:
pyautogui-mcp --transport stdio
pyautogui-mcp --transport http --host 127.0.0.1 --port 8000
MCP client config example:
{
"mcpServers": {
"pyautogui-mcp": {
"command": "pyautogui-mcp",
"args": ["--transport", "stdio"]
}
}
}
Dependencies are declared in pyproject.toml, so uv can resolve and run directly:
{
"mcpServers": {
"pyautogui-mcp": {
"command": "uv",
"args": [
"--directory",
"/full/path/to/pyautogui-mcp",
"run",
"python",
"-m",
"pyautogui_mcp"
]
}
}
}
You can also launch manually:
uv run python -m pyautogui_mcp --transport stdio
uv run python -m pyautogui_mcp --transport http --host 127.0.0.1 --port 8000
Import only what you need and run it under your own server lifecycle:
from pyautogui_mcp import mcp, register_pyautogui_api
register_pyautogui_api(prefix="pyautogui_")
mcp.run() # or mcp.run(transport="http", host="127.0.0.1", port=8000)
Other exports:
from pyautogui_mcp import pyautogui_diagnose, pyautogui_tools
PYAUTOGUI_PAUSE=0.1.Tool names are exposed with the default pyautogui_ prefix (configurable with --prefix).
| Tool | Inputs (common) | Output |
|---|---|---|
pyautogui_screenshot |
imageFilename (optional), region (optional [left, top, width, height]) |
MCP image content (PNG bytes) |
pyautogui_screenshot_encoded |
format (png/jpeg), quality (1-95, JPEG only), region |
MCP image content (PNG/JPEG bytes) |
pyautogui_position |
none | cursor coordinates { "x": int, "y": int } |
pyautogui_click |
x, y, clicks, button, interval, duration |
null (mouse click performed) |
pyautogui_doubleClick |
x, y, button, interval, duration |
null (double-click performed) |
pyautogui_rightClick |
x, y, interval, duration |
null (right-click performed) |
pyautogui_moveTo |
x, y, duration |
null (mouse moved) |
pyautogui_moveRel |
xOffset, yOffset, duration |
null (mouse moved relative) |
pyautogui_dragTo |
x, y, duration, button |
null (drag performed) |
pyautogui_dragRel |
xOffset, yOffset, duration, button |
null (drag performed) |
pyautogui_write |
message, interval |
null (text typed) |
pyautogui_typewrite |
message, interval |
null (text typed) |
pyautogui_press |
keys, presses, interval |
null (key press performed) |
pyautogui_hotkey |
keys, interval |
null (hotkey chord performed) |
pyautogui_scroll |
clicks, x, y |
null (scroll performed) |
pyautogui_tools |
none | tool list { note, tools:[{name, description}] } |
pyautogui_diagnose |
none | { python, platform, deps } diagnostic info |
Use pyautogui_tools to list the exact tool set for your environment and PyAutoGUI version.
Выполни в терминале:
claude mcp add pyautogui-mcp -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.