{"id":"win32-mcp-server","name":"win32-mcp-server","homepage":"https://pypi.org/project/win32-mcp-server/","repo_url":"https://github.com/RandyNorthrup/win32-mcp-server","category":"automation","subcategories":[],"tags":["mcp","windows","desktop-automation","ocr","ui-testing","screenshot","python","automation","agent-tools"],"what_it_does":"win32-mcp-server is an MCP (Model Context Protocol) server that exposes Windows desktop automation capabilities to MCP clients via STDIO. It provides tools for screen capture, OCR (including structured/bounding-box OCR), mouse/keyboard control, window management, process management, clipboard operations, and “smart” high-level automation sequences (e.g., click/find text, wait for text, batch tool execution).","use_cases":["Agent-driven UI automation on Windows (clicking/searching for UI text, form filling)","Automated UI testing/verification (assert text visibility, wait-for-text polling)","Desktop data extraction (screenshot + OCR, structured OCR with bounding boxes)","Window/process orchestration (launch, wait for idle, move/resize windows, terminate processes)","Assistive workflows for repetitive tasks (multi-step batch sequences executed in one request)"],"not_for":["Untrusted MCP client environments (it can control mouse/keyboard, read/write clipboard, terminate processes)","Browser/server-side automation that doesn’t have interactive Windows UI access","Use cases requiring strong auditability/accounting or network-based auth boundaries (none described)","Sensitive data environments where OCR/screenshot/clipboard exposure is unacceptable"],"best_when":"You control the MCP client and run in a trusted environment where interactive Windows automation is acceptable (e.g., local developer machine, secured test runner VM).","avoid_when":"When the MCP client or operator is untrusted, or when you cannot prevent the agent from exfiltrating or manipulating desktop data (screenshots, OCR text, clipboard) or terminating/launching processes.","alternatives":["Custom accessibility/UI automation scripts (e.g., pywinauto/autogui + your own orchestration)","WinAppDriver + test frameworks (for UI testing)","RPA tools with approval workflows (e.g., UiPath/Automation Anywhere equivalents)","Other MCP desktop automation servers (if available) with fewer powerful capabilities"],"af_score":71.5,"security_score":23.2,"reliability_score":37.5,"package_type":"mcp_server","discovery_source":["pypi"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:39:13.796443+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":true,"sdk_languages":["python"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["None described for server transport (STDIO)"],"oauth":false,"scopes":false,"notes":"No authentication/authorization mechanism is documented for the MCP server itself; security guidance focuses on restricting who can invoke it and running in trusted environments."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source (MIT). 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":71.5,"security_score":23.2,"reliability_score":37.5,"mcp_server_quality":92.0,"documentation_accuracy":86.0,"error_message_quality":null,"error_message_notes":"README states robust error handling with structured JSON errors and actionable suggestions, and includes a troubleshooting table for common failures (TesseractNotFoundError, ModuleNotFoundError, Window not found, OCR quality, HiDPI coordinates, PermissionError). No concrete example of error payload schema or codes provided.","auth_complexity":95.0,"rate_limit_clarity":5.0,"tls_enforcement":10.0,"auth_strength":5.0,"scope_granularity":0.0,"dependency_hygiene":60.0,"secret_handling":55.0,"security_notes":"Server has extremely powerful local capabilities (screenshots of any window/desktop, clipboard read/write, mouse/keyboard control, process kill/launch). No network transport/auth mechanism is described because MCP uses STDIO; security therefore relies on restricting access to the MCP server process. The README recommends using trusted environments and disabling when not in use. TLS is not applicable to STDIO transport; secret handling quality is not verifiable from the provided text, though it suggests logging automation calls to stderr (risk depends on whether payloads/secrets are included in logs). Dependency hygiene cannot be fully assessed from provided content; listed common automation/OCR libraries may have varying security maintenance status.","uptime_documented":0.0,"version_stability":55.0,"breaking_changes_history":30.0,"error_recovery":65.0,"idempotency_support":"false","idempotency_notes":"Many tools are inherently non-idempotent (mouse clicks, typing, drag, launching/killing processes). Some polling/wait/assert-style operations can be idempotent in effect, but no explicit idempotency guidance is documented.","pagination_style":"standard pagination for list_processes is mentioned (filter/sort/pagination) but the exact style/parameters aren’t specified in the README excerpt","retry_guidance_documented":true,"known_agent_gotchas":["Powerful system-control capabilities: clipboard/screenshot/OCR text and mouse/keyboard control can cause unintended side effects","OCR dependency on Tesseract; structured/accurate OCR may require installing and configuring Tesseract and tuning preprocess mode","Coordinate accuracy can be sensitive to DPI; while auto DPI awareness is claimed, incorrect window focus/monitor selection can still produce wrong interactions","Fuzzy window/title matching may produce wrong targets if partial titles are ambiguous; use list_windows/get_window_info first","Clipboard operations and process termination are high-impact; ensure the agent is constrained to trusted tasks/flows"]}}