桥接 LLM 智能体与 Windows 操作系统的轻量级 MCP Server,基于 a11y 树实现无 CV 依赖的桌面 UI 自动化。
Windows-MCP 是一款专为 LLM 智能体设计的 Windows 桌面控制网关,通过 MCP 协议将大模型的能力延伸至图形用户界面。项目核心亮点在于摒弃了传统的计算机视觉方案,转而深度利用 Windows UI Automation(a11y 树)进行精准的元素定位与交互。它内置了 18 个高度模块化的工具,覆盖了从基础的鼠标点击、键盘输入、滚动截屏,到复杂的窗口管理、进程控制、注册表读写及 PowerShell 执行等全方位操作。
工具集概览
- 桌面 UI 自动化:Click(坐标点击)、Type(元素输入)、Scroll(区域滚动)、Move(鼠标移动/拖拽)、Shortcut(键盘快捷键)、Wait(暂停)
- 状态感知:Screenshot(截图+光标与活跃窗口信息)、Snapshot(完整桌面状态捕获,含 UI 元素 ID 与可滚动区域;
use_dom=True切换浏览器 DOM 模式) - 应用与系统管理:App(启动/调整/切换应用)、Shell(PowerShell 执行)、Process(进程管理)、Registry(注册表读写)、Clipboard(剪贴板读写)、Notification(系统通知)
- 高级交互:MultiSelect(多选)、MultiEdit(多输入框同时输入)、Scrape(网页抓取)
架构与实现
- 基于 fastmcp (>=3.0) 构建,源码入口
windows_mcp.__main__:main,代码位于src/windows_mcp/(含uia/子模块) - UI 自动化核心采用 Python-UIAutomation-for-Windows 解析 a11y 树,结合 PyAutoGUI 进行输入模拟
- 通过 pywin32 与 comtypes 调用 Windows 原生 API
- 截图引擎三级回退:dxcam(GPU 加速)→ mss → pillow
- 文本匹配集成 fuzzywuzzy + python-levenshtein
- 网页内容转换使用 markdownify
- 工程化:setuptools 构建、Ruff Lint、pytest-asyncio 测试
运行特性
- 动作间典型延迟 0.2–0.9 秒
- 多传输协议:stdio(默认)、SSE、Streamable HTTP
- 已添加虚拟机环境支持
- 兼容 Claude Desktop、Claude Code、Perplexity Desktop、Gemini CLI、Qwen Code、Codex CLI 等客户端
- 目标平台:Windows 7/8/8.1/10/11,最低 Python 3.13+
安装与配置
推荐通过 PyPI 安装:uvx windows-mcp
关键环境变量:WINDOWS_MCP_SCREENSHOT_SCALE(截图缩放,高分辨率建议 0.5)、WINDOWS_MCP_SCREENSHOT_BACKEND(截图后端:auto/dxcam/mss/pillow)、ANONYMIZED_TELEMETRY(遥测开关)、WINDOWS_MCP_DEBUG(调试模式)
待确认事项
- "2M+ Users" 声明来源于 Claude.ai/directory 页面,无法独立验证
- README 声称支持 Windows 7/8/8.1,但 PyPI classifiers 仅列出 Windows 10/11
- dxcam 在 VM 中需要 GPU 直通,截图后端行为待确认
- 遥测具体收集指标范围需查阅 Security Policy 进一步确认
衍生项目:Windows-Use(基于 Windows-MCP 构建的独立 AI 智能体)