让 AI 操作电脑是老话题,但多数方案走截图加坐标点击的路子——慢、脆、盲。Windows-MCP 换了个思路:把 Windows 原生的 UI Automation API 封装成 MCP 服务器,AI 拿到的不是一张张截图,而是结构化的界面元素树——按钮是按钮、输入框是输入框,点击与输入直接落在元素上。本文按"定位 → 架构 → 能力清单 → 接入 → 安全边界"组织。
1、项目定位
Windows-MCP 出自 CursorTouch 团队,定位是"Computer Use 的 MCP 服务器":任何支持 MCP(Model Context Protocol)的 AI 客户端——Claude Code、Cursor、Claude Desktop——接上它就能操控 Windows 桌面。项目用 Rust 写核心(NAPI 进程内调用),开源、依赖少,凭这个差异化定位登上过 GitHub 趋势榜。
它与截图流方案的分界:截图方案让模型"看图猜坐标",每一步都要截屏、识别、计算位置,延迟高且容易点错;UIA 方案让模型直接读控件树,按控件名称与角色操作,稳得多。两类路线对比如下:
| 维度 | 截图流 | UIA 流 |
|---|---|---|
| 感知 | 截图后视觉识别 | 结构化元素树 |
| 操作 | 坐标点击 | 按元素定位操作 |
| 速度 | 每步一截图,秒级 | 读树为主,更快 |
| 稳定性 | 分辨率与布局敏感 | 控件名即锚点 |
2、架构:Rust 内核加 UIA
核心实现有两块。其一是 Windows UI Automation API:系统自带的辅助功能接口,屏幕阅读器就是靠它读界面的,天然提供完整的控件树、控件名称、角色与状态;其二是 Rust NAPI 层:把 UIA 的 COM 调用包成高性能的进程内接口,供 MCP 服务器调用。截图、鼠标、键盘、剪贴板这些补充能力也在工具集里——UIA 覆盖不了的场景(无标准控件的界面、游戏画面)由它们兜底。
官方口径的响应速度在 0.7 到 1.7 秒量级,模型无关(model-agnostic)——任何客户端只要会说 MCP 协议就能用,配合视觉模型还能处理 UIA 读不到的界面。
3、能力清单
工具集按用途分四组。界面感知组:枚举窗口、读取控件树、定位指定元素;操作组:点击、输入、快捷键——落在元素级而非坐标级;视觉组:截屏供视觉模型兜底;辅助组:剪贴板读写、应用启动与窗口管理。四组组合起来就是完整的桌面自动化闭环:找到目标、执行操作、确认结果。
典型用法是混搭:先用 UIA 树定位"导出"按钮直接点;遇到自绘界面读不到控件,再截图让视觉模型找。两条通道互为备份,这比单通道方案可靠。
几个落地场景帮助理解能力边界。报表导出:让 AI 打开浏览器登录内部系统,按导航树找到报表页,设好日期点导出,全程元素级操作,录一次流程可反复重放。软件测试:辅助 QA 在真实 Windows 应用上跑回归步骤,控件树给出的断言(按钮是否存在、输入框的值)比截图对比精确。批量文件整理:窗口管理加剪贴板,操控资源管理器按规则归档——诚然这类任务用脚本更直接,但 UIA 方案的优势是那些没有命令行接口、只有图形界面的老旧软件。
4、接入三步
以 Claude Code 为例的接入流程如下:
claude mcp add windows-mcp -- npx -y windows-mcp
解读:一行命令把 Windows-MCP 注册进 Claude Code(具体安装方式以仓库 README 为准,fork 版本可能提供 uv 等安装路径)。注册后在会话里让它"打开记事本,输入一句话,保存到桌面",观察工具调用链——读窗口树、定位输入框、执行输入,全程元素级操作。
实际使用中最出彩的是跨应用流程:从 Excel 读数、在浏览器查资料、往 ERP 里填单——模型按控件树导航,比人肉点选快,且过程可复述。
5、安全边界
这类工具把整套桌面交给模型,安全设计不是可选项。Windows-MCP 专门维护了 SECURITY.md 文档交代安全考量,使用侧也要自设边界:确认操作开着(关键动作前模型应说明将做什么)、敏感应用(网银、密码管理器)不纳入自动化范围、会话后审计操作记录。
一个务实的分级做法:只读类能力(枚举窗口、读控件、截图)放开用;输入与点击类能力在受控会话里用;删除、发送、支付类操作永远人工确认。这与数据库 Agent 的纵深防御是同一套思路——能力越大的工具,越要配越细的闸门。
生态位对比也有意思:同赛道的 deploymenttheory/windows-mcp-server 走 UIA 加合成输入加窗口控制的组合路线,社区还有 WinRemote 这类偏远程控制的 MCP 方案;Windows-MCP 的差异点在 Rust 进程内内核的性能与轻量。选型时建议都试一轮同一组任务(打开应用、填表、导出文件),比读特性列表直观得多。
6、总结
Windows-MCP 用系统原生的 UIA 接口替代截图猜坐标,给"AI 操作 Windows"这条路线补上了结构化感知的短板,Rust 内核保证了性能底座。对于想让 AI 接手桌面重复操作的 Windows 用户,建议从只读能力起步验证识别准确率,再逐步放开操作权限;跨平台需求则要留意它是 Windows 专属,macOS 与 Linux 需要各自的方案。
7、练习
- 让 AI 通过 UIA 树读出当前窗口的全部按钮名称,对比截图方案理解两种感知的差异
- 设计一份自己桌面的自动化权限分级清单:哪些应用允许只读、哪些允许操作、哪些永远禁止


