{"id":"pyautogui-mcp-server","name":"pyautogui-mcp-server","homepage":"https://pypi.org/project/pyautogui-mcp-server/","repo_url":"https://github.com/on-panda/pyautogui_mcp_server","category":"automation","subcategories":[],"tags":["mcp","gui-agent","pyautogui","automation","screenshots","starlette","uvicorn"],"what_it_does":"Provides an MCP server (Streamable HTTP) that runs Python code in a fresh interpreter state with pyautogui instrumentation, returning captured stdout/stderr/results and inline screenshots (including mouse-operation previews). Includes a macOS-only helper to keep the display awake before automation.","use_cases":["GUI automation via an MCP-capable agent","Tool-based execution of Python that drives the mouse/keyboard with pyautogui","Remote/agent-controlled screenshot capture and inline delivery","Workflow automation on macOS where the display must stay awake"],"not_for":["Production-safe execution of untrusted code (no sandboxing guarantees are described)","Highly regulated environments requiring strict audit/compliance controls","Environments where controlling the OS UI is disallowed"],"best_when":"You control the client/agent and want an MCP tool to execute pyautogui-driven UI steps and receive logs + screenshots as structured tool outputs.","avoid_when":"You need strong security boundaries (e.g., running untrusted code) or you cannot grant the server/API full control over UI automation and screen capture.","alternatives":["Run pyautogui directly in your own orchestrator (no MCP abstraction)","Use Playwright (web automation) when the target is primarily browser-based","Use other agent tool bridges for GUI automation (if available in your stack)"],"af_score":40.8,"security_score":28.0,"reliability_score":20.0,"package_type":"mcp_server","discovery_source":["pypi"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:47:23.379251+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":[],"oauth":false,"scopes":false,"notes":"The README and manifest do not describe authentication/authorization for the MCP server. The server is started with --host/--port only."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source library (MIT) installed via pip; no hosted pricing described."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":40.8,"security_score":28.0,"reliability_score":20.0,"mcp_server_quality":55.0,"documentation_accuracy":65.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":10.0,"rate_limit_clarity":5.0,"tls_enforcement":20.0,"auth_strength":20.0,"scope_granularity":0.0,"dependency_hygiene":60.0,"secret_handling":50.0,"security_notes":"No authentication/authorization guidance is provided for the MCP server in the README/manifest. The tool executes Python in a fresh interpreter with pyautogui instrumentation—this implies the ability to control the local UI and capture screenshots; without sandboxing and request authorization, this is high-risk if exposed to untrusted clients. TLS enforcement and secret-handling behavior are not documented; treat deployment as internal/trusted-only.","uptime_documented":0.0,"version_stability":30.0,"breaking_changes_history":30.0,"error_recovery":20.0,"idempotency_support":"false","idempotency_notes":"Tool performs GUI actions (mouse/keyboard) and stateful side effects; no idempotency guarantees described.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["GUI automation is inherently stateful; retries can repeat mouse actions unless the agent adds its own guardrails","Running Python code remotely can be dangerous unless you fully trust the caller; no sandboxing guarantees are described","Screenshot coordinates may drift if display scaling/coordinate mapping differs; normalization is mentioned but not configured/documented in detail"]}}