Skip to main content
Glama
walkzzz

PyWinAuto MCP

by walkzzz



PyWinAuto MCP

Windows GUI 自动化 · 生成级智能 · MCP 协议

Python Platform License Version Tools Workflows Tests

基于 pywinauto 的 Windows GUI 自动化工具集,通过 MCP (Model Context Protocol) 暴露 153 个工具,内置 100 条工作流和 10 个场景模板,具备自然语言转工作流、智能元素定位、自适应自愈执行等生成级能力。

快速开始 · 文档 · 示例 · 贡献 · 许可证


特性

核心能力

  • 162 个 MCP 工具 — 覆盖应用管理、窗口操作、控件交互、键盘鼠标、剪贴板、元素查找、时序控制、任务栏、桌面、菜单、特定控件等 23 个分类

  • 105 条预置工作流 — 20 个类别 × 5 条,35 条可一键执行,覆盖应用生命周期、窗口管理、文本输入、按钮交互、菜单导航、列表组合框、文件对话框、对话框处理、键盘快捷键、鼠标操作、数据提取、验证等待、浏览器自动化、系统操作、截图捕获、表单填写、表格操作、树控件、标签页、错误恢复

  • 10 个场景模板 — 记事本、计算器、浏览器、表单、对话框、截图、菜单、剪贴板、窗口管理、系统信息

v3.0 生成级能力

  • NL2Workflow — 自然语言描述 → 可执行工作流,附带推理过程和置信度

    输入:"启动记事本,输入Hello World,然后保存"
    输出:4 步工作流(app_start → app_top_window → safe_type_text → keyboard_send_keys)
  • SmartLocator — 智能元素定位,16 种控件类型自动检测,4 级模糊匹配,多维度语义排序

  • AdaptiveExec — 自适应自愈执行,6 类错误自动识别,每类 2-4 种恢复策略,指数退避重试

  • UIAnalyzer — UI 理解与分析,界面结构描述、可交互元素发现、控件自然语言描述

  • ScenarioLib — 场景模板库,参数化模板一键生成工作流

  • ScriptGen — 工作流 → 独立可运行 pywinauto Python 脚本生成

v2.0 企业级加固

  • 输入校验 — 10 类校验器(backend/button/timeout/workflow_id 等)

  • 重试机制 — 指数退避重试,safe_click/safe_type_text 内置重试

  • 超时保护 — 线程级超时,工作流步骤支持 timeout 参数

  • 线程安全 — RLock 保护全部会话操作

  • 会话 TTL — 2 小时无访问自动过期,cleanup_stale_sessions 手动清理

  • 错误分类 — 6 类错误自动识别 + 恢复建议

  • 健康检查 — health_check 9 项依赖和运行状态检测

  • 安全操作 — safe_click(验证可见/可用+重试)、safe_type_text(焦点验证+剪贴板优化)

  • 批量执行 — batch_execute 支持 $prev.field$ 引用

  • 状态快照 — snapshot_ui_state + inspect_element 深度探查

Related MCP server: Windows-MCP

系统要求

项目

要求

操作系统

Windows 10 / Windows 11

Python

3.10+

依赖

pywinauto, fastmcp>=4.0, pywin32, comtypes, pydantic

后端

UIA(默认,推荐)/ Win32

快速开始

1. 安装依赖

pip install pywinauto fastmcp pywin32 comtypes pydantic

2. 环境自检

python scripts/self_check.py

3. 运行 MCP 服务器

# stdio 模式(默认,用于 MCP 客户端连接)
python scripts/mcp_server.py

# HTTP 模式
python scripts/mcp_server.py --http --host 127.0.0.1 --port 10789

# 列出全部工具
python scripts/mcp_server.py --list-tools

4. 运行测试

python tests/test_wrapper.py

5. 自然语言自动化(生成级)

from scripts.generation_engine import generate_and_execute

# 用自然语言描述任务,自动生成工作流并执行
result = generate_and_execute("启动记事本,输入Hello World,然后保存")
print(result["status"])  # success

🤖 AI 自动部署提示词

将以下提示词复制给你的 AI 编程助手(Cursor / Claude Code / Copilot / Continue 等),AI 将自动完成 pywinauto-mcp 的部署。

📖 完整部署指南见 docs/ai_deployment_guide.md

提示词 1:快速部署(推荐)

请帮我部署 pywinauto-mcp,这是一个 Windows GUI 自动化的 MCP 服务器。

项目地址:https://github.com/walkzzz/pywinauto-mcp

请按照以下步骤执行:
1. 克隆仓库到本地
2. 创建 Python 虚拟环境并激活
3. 安装依赖:pip install -r requirements.txt
4. 运行环境自检:python scripts/self_check.py
5. 验证 MCP 服务器:python scripts/mcp_server.py --list-tools(应显示 162 个工具)
6. 配置当前 IDE 的 MCP 连接,指向 scripts/mcp_server.py
7. 验证工具调用:调用 health_check 确认连接正常

每完成一步请告诉我进度,遇到问题请尝试自动修复。

提示词 2:完整部署 + 测试

请帮我完整部署 pywinauto-mcp 并运行全部测试。

项目地址:https://github.com/walkzzz/pywinauto-mcp

部署要求:
- 使用 Python 3.11+ 虚拟环境
- 安装全部依赖(pywinauto, fastmcp, pywin32, comtypes, pydantic)
- 运行 85 项单元测试,确保全部通过
- 验证 162 个 MCP 工具全部注册成功
- 验证 105 条工作流全部可用
- 配置 MCP 连接并验证 health_check / get_capabilities / generate_workflow 三个工具可正常调用
- 最后给出部署报告:环境信息、工具数量、测试结果、连接状态

请分步执行,每步验证后再继续。

提示词 3:Cursor 专用部署

请帮我在 Cursor 中部署 pywinauto-mcp MCP 服务器。

项目地址:https://github.com/walkzzz/pywinauto-mcp

请执行:
1. 克隆仓库
2. 安装依赖
3. 在项目根目录创建 .cursor/mcp.json,配置 pywinauto MCP 服务器(使用项目内虚拟环境的 Python)
4. 验证配置格式正确
5. 提示我重启 Cursor 以加载 MCP 配置
6. 重启后验证:在对话中调用 pywinauto 的 health_check 工具

MCP 配置模板:
{
  "mcpServers": {
    "pywinauto": {
      "command": "${workspaceFolder}\\venv\\Scripts\\python.exe",
      "args": ["${workspaceFolder}\\scripts\\mcp_server.py"]
    }
  }
}

提示词 4:Claude Code 专用部署

请帮我在 Claude Code 中部署 pywinauto-mcp。

项目地址:https://github.com/walkzzz/pywinauto-mcp

请执行:
1. 克隆仓库并安装依赖
2. 编辑 %APPDATA%\Claude\claude_desktop_config.json,添加 pywinauto MCP 服务器配置
3. 验证 JSON 格式正确
4. 使用 `claude mcp list` 验证服务器已连接
5. 调用 health_check 验证工具可用

配置格式:
{
  "mcpServers": {
    "pywinauto": {
      "command": "python",
      "args": ["C:\\path\\to\\pywinauto-mcp\\scripts\\mcp_server.py"]
    }
  }
}

提示词 5:自动化任务执行(部署后使用)

你现在可以使用 pywinauto-mcp 的 162 个 Windows GUI 自动化工具。

请帮我完成以下任务:
1. 启动记事本应用
2. 输入文本 "Hello from pywinauto-mcp!"
3. 全选并复制文本
4. 截图保存
5. 关闭记事本

要求:
- 使用 safe_click / safe_type_text 等安全操作
- 每步操作后验证结果
- 遇到错误时使用 adaptive_execute 自动恢复
- 最后给出执行报告

提示词 6:故障排查

pywinauto-mcp MCP 服务器连接失败,请帮我排查。

症状:[描述你的症状,例如:AI 工具显示 MCP 连接失败 / 工具列表为空 / 调用工具报错]

请按以下顺序排查:
1. 检查 Python 版本和依赖安装:python --version && pip list | findstr "pywinauto fastmcp"
2. 手动启动服务器查看错误:python scripts/mcp_server.py --list-tools
3. 运行自检:python scripts/self_check.py
4. 检查 MCP 配置文件中的路径是否正确
5. 检查是否有端口占用(HTTP 模式)
6. 查看 AI 工具的 MCP 日志

找到问题后请修复并验证连接恢复。

支持的 AI 工具

AI 工具

MCP 支持

配置方式

详细指南

Cursor

✅ 原生支持

.cursor/mcp.json 或全局配置

部署指南

Claude Code

✅ 原生支持

claude_desktop_config.json

部署指南

VS Code + Copilot

✅ 预览支持

settings.json

部署指南

JetBrains AI

✅ 2024.2+

Settings → AI Assistant

部署指南

Continue.dev

✅ 开源

~/.continue/config.json

部署指南

通用 MCP 客户端

✅ 标准协议

标准 MCP JSON 配置

部署指南

文档

文档

说明

README.md

项目入口(本文件)

docs/ai_deployment_guide.md

🤖 AI 自动部署指南(Cursor/Claude/Copilot/JetBrains/Continue)

docs/getting_started.md

快速开始指南

docs/architecture.md

架构设计文档

docs/faq.md

常见问题

CREDITS.md

参考成果声明

references/api_reference.md

162 工具完整 API 参考

references/workflows.md

105 条工作流详解

references/element_locators.md

元素定位策略

references/usage_guide.md

使用指南与最佳实践

CHANGELOG.md

版本变更日志

CONTRIBUTING.md

贡献指南

CODE_OF_CONDUCT.md

行为准则

示例

示例 1:基础自动化

from scripts.pywinauto_wrapper import (
    app_start, app_top_window, control_type_keys, keyboard_send_keys
)

# 启动记事本
app = app_start("notepad.exe", backend="uia")
win = app_top_window(app["app_id"])

# 输入文本
control_type_keys(win["wrapper_id"], "Hello, PyWinAuto MCP!")

# 保存
keyboard_send_keys("^s")

示例 2:自然语言生成工作流

from scripts.generation_engine import generate_workflow

# 自然语言描述 → 工作流步骤
result = generate_workflow("启动计算器,输入123+456,按等号")

print(f"生成 {result['step_count']} 步,置信度 {result['confidence']}")
for step in result["steps"]:
    print(f"  - {step['tool']}: {step.get('description', '')}")

示例 3:智能元素定位

from scripts.generation_engine import smart_find

# 自然语言描述查找控件
result = smart_find("确定按钮", wrapper_id="ctrl_xxx")

print(f"找到 {result['matches_found']} 个匹配")
for match in result["matches"][:3]:
    print(f"  - {match['text']} ({match['control_type']}) score={match['score']}")

# 最佳匹配已自动注册为 wrapper 会话
print(f"最佳匹配 wrapper_id: {result['best_match_wrapper_id']}")

示例 4:自适应自愈执行

import json
from scripts.generation_engine import adaptive_execute

steps = json.dumps([
    {"tool": "app_start", "params": {"cmd_line": "notepad.exe"}, "output_key": "app_id"},
    {"tool": "app_top_window", "params": {"app_id": "$app_id$"}, "output_key": "wrapper_id"},
    {"tool": "safe_type_text", "params": {"wrapper_id": "$wrapper_id$", "text": "Hello"}},
])

# 自动处理元素未找到、超时等错误
result = adaptive_execute(steps, auto_recover=True, max_retries_per_step=3)
print(f"状态: {result['status']}, 恢复次数: {result['total_recoveries']}")

示例 5:场景模板

from scripts.generation_engine import apply_scenario

# 应用预置场景模板
result = apply_scenario("notepad_basic", params={"text": "Hello from scenario"})
print(f"场景: {result['scenario_name']}, 步骤: {result['step_count']}")

更多示例见 docs/examples/

工具分类

分类

数量

代表工具

应用管理

13

app_start, app_connect, app_kill, app_top_window

控件操作

55+

control_click, control_set_focus, control_get_text, safe_click

键盘鼠标

12

keyboard_send_keys, mouse_click, mouse_drag, mouse_scroll

窗口查找

7

window_find, window_exists, window_wait, window_dump_tree

剪贴板

4

clipboard_get_data, clipboard_set_data, clipboard_empty

时序控制

5

timings_get, timings_set, timings_slow, timings_fast

系统信息

4

sysinfo_is_x64_python, sysinfo_os_arch

元素查找

3

find_windows, find_elements, enumerate_windows

任务栏/桌面

8

taskbar_click_on_button, desktop_windows, desktop_active_window

特定控件

14

combobox_select, tab_select, tree_select, slider_set_position

健康诊断

5

health_check, get_capabilities, get_call_stats, classify_error

生成级

10

generate_workflow, smart_find, adaptive_execute, generate_script

工作流

5

workflow_list, workflow_execute, workflow_execute_custom

总计

153

项目结构

pywinauto-mcp/
├── README.md                    # 项目入口文档
├── CHANGELOG.md                 # 变更日志
├── CONTRIBUTING.md              # 贡献指南
├── CODE_OF_CONDUCT.md           # 行为准则
├── LICENSE                      # MIT 许可证
├── CREDITS.md                   # 参考成果声明
├── SKILL.md                     # MCP Skill 定义文档
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md       # Bug 报告模板
│   │   └── feature_request.md  # 功能请求模板
│   └── PULL_REQUEST_TEMPLATE.md
├── docs/
│   ├── ai_deployment_guide.md   # 🤖 AI 自动部署指南
│   ├── architecture.md          # 架构设计文档
│   ├── getting_started.md       # 快速开始指南
│   ├── faq.md                   # 常见问题
│   └── examples/
│       ├── basic_automation.py
│       ├── nl2workflow_demo.py
│       ├── smart_locator_demo.py
│       ├── adaptive_exec_demo.py
│       ├── scenario_template_demo.py
│       └── install_package_demo.py
├── scripts/
│   ├── mcp_server.py            # MCP CLI 服务器(stdio/HTTP,162 工具)
│   ├── pywinauto_wrapper.py     # 162 API 封装 + 105 工作流引擎
│   ├── generation_engine.py     # v3.0 生成级引擎
│   └── self_check.py            # 环境自检脚本
├── tests/
│   └── test_wrapper.py          # 85 项单元测试
└── references/
    ├── api_reference.md         # 162 工具 API 参考
    ├── workflows.md             # 105 条工作流详解
    ├── element_locators.md      # 元素定位策略
    └── usage_guide.md           # 使用指南

路线图

  • v1.0 — 128 API 封装 + MCP 服务器

  • v2.0 — 企业级加固(校验/重试/超时/线程安全/健康检查)

  • v3.0 — 生成级能力(NL2Workflow/SmartLocator/AdaptiveExec/UIAnalyzer/ScriptGen)

  • v3.1 — 更多场景模板(Excel/Word/Outlook 等 Office 自动化)

  • v3.2 — 操作录制与回放(Record & Replay)

  • v4.0 — 视觉定位(基于截图的图像匹配定位)

  • v4.1 — 多显示器支持 + DPI 感知

  • v4.2 — 远程桌面自动化

贡献

欢迎贡献!请阅读 CONTRIBUTING.md 了解贡献流程。

开发环境设置

# 克隆仓库
git clone https://github.com/your-org/pywinauto-mcp.git
cd pywinauto-mcp

# 安装开发依赖
pip install -r requirements-dev.txt

# 运行测试
python tests/test_wrapper.py

# 运行自检
python scripts/self_check.py

提交规范

本项目使用 Conventional Commits 规范:

  • feat: 新功能

  • fix: Bug 修复

  • docs: 文档更新

  • refactor: 代码重构

  • test: 测试相关

  • chore: 构建/工具链相关

许可证

本项目基于 MIT License 开源。

致谢


如果这个项目对你有帮助,请给个 ⭐ Star

Made with ❤️ for Windows Automation

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with Windows operating systems through native UI automation, file navigation, application control, and system commands. Provides seamless integration between LLMs and Windows environments for tasks like clicking, typing, launching apps, and capturing desktop state.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables comprehensive Windows desktop automation including screen capture, OCR text extraction, mouse/keyboard control, window management, process control, and clipboard operations through 25+ tools for AI agents.
    4
    MIT