Token导航 LogoToken导航TokenDH.com
Fla Ui MCP logo
AI代理未说明官方级别未说明来源级核验

Fla Ui MCP

MCP Server

FlaUI-MCP是一个通过Windows UI Automation API实现桌面应用程序自动化的服务,提供类似于Playwright的浏览器自动化功能。

工具数

11

提示词数

0

GitHub Stars

46

资源数

0
C#ClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

shanselman

提供方

shanselman

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

FlaUI MCP

MCP(模型上下文协议)服务器,使AI代理能够使用可访问性API自动化Windows桌面应用程序,就像Playwright自动化浏览器一样。

![Build](https://github.com/shanselman/FlaUI-MCP/actions/workflows/build.yml) ](https://github.com/shanselman/FlaUI-MCP/releases) ![License: MIT](https://opensource.org/licenses/MIT)

为什么存在

当Playwright的MCP服务器自动化浏览器时,它提供:

  • browser_snapshot → 带有元素引用的结构化可访问性树
  • browser_click ref="..." → 按参照而非坐标单击

FlaUI MCP为Windows桌面应用程序带来了相同的模式:

  • windows_snapshot → 可访问性树,包含以下引用 w1e5
  • windows_click ref="w1e5" → 按ref单击元素

无截图解析。没有坐标猜测。只是语义元素引用。

快速演示

Agent: Calculate 3 × 3

1. windows_launch { "app": "calc.exe" }
   → Window handle: w1

2. windows_snapshot { "handle": "w1" }
   → - window "Calculator" [ref=w1]
       - button "Three" [ref=w1e43]
       - button "Multiply by" [ref=w1e35]
       - button "Equals" [ref=w1e38]
       - text "Display is 0" [ref=w1e15]

3. windows_batch { "actions": [
     {"action": "click", "ref": "w1e43"},
     {"action": "click", "ref": "w1e35"},
     {"action": "click", "ref": "w1e43"},
     {"action": "click", "ref": "w1e38"},
     {"action": "snapshot", "handle": "w1"}
   ]}
   → 1. click: Invoked Three
     2. click: Invoked Multiply by
     3. click: Invoked Three
     4. click: Invoked Equals
     5. snapshot: ... "Display is 9" ...

安装

先决条件

  • Windows 10/11
  • .NET 8.0运行时

下载发布

从下载最新版本 发布 并提取到文件夹中。

配置MCP客户端

添加到您的MCP配置中(例如。, ~/.copilot/mcp-config.json):

{
  "mcpServers": {
    "windows": {
      "type": "local",
      "command": "C:\\path\\to\\FlaUI-MCP.exe",
      "tools": ["*"]
    }
  }
}

或使用 dotnet run:

{
  "mcpServers": {
    "windows": {
      "type": "local",
      "command": "dotnet",
      "args": ["run", "--project", "C:\\path\\to\\src\\FlaUI.Mcp"]
    }
  }
}

可用工具

工具说明
windows_launch启动Windows应用程序
windows_snapshot使用元素引用获取可访问性树
windows_click按ref单击元素
windows_type在元素中键入文本
windows_fill清除并填充文本字段
windows_get_text获取元素的文本内容
windows_screenshot将窗口/元素捕获为PNG格式
windows_list_windows列出所有打开的窗口
windows_focus将窗口置于前台
windows_close关闭窗口
windows_batch在一次调用中执行多个操作

运作原理

辅助功能快照

当你打电话的时候 windows_snapshot,你会得到一个结构化的文本树:

- window "Calculator" [ref=w1e1]
  - group "Number pad" [ref=w1e39]
    - button "Seven" [ref=w1e47]
    - button "Eight" [ref=w1e48]
    - button "Nine" [ref=w1e49]
  - text "Display is 0" [ref=w1e15]

这来自 Windows用户界面自动化 -相同的API屏幕阅读器使用。每个元素都有:

  • 角色 (按钮、文本、组、文本框)
  • 名字 (“七”,“显示为0”)
  • 参考 (w1e47)-用于交互的句柄
  • 状态 (\[禁用\]、\[只读\]、\[选中\])

为什么不截图?

方法优点缺点
可访问性树语义清晰、精确、快速,适用于任何分辨率需要UI自动化支持
截图+视觉适用于任何应用程序缓慢、昂贵、不精确、依赖分辨率

FlaUI MCP使用可访问性,因为它是屏幕阅读器使用的——它是为程序化UI交互而设计的。

从源头构建

# Clone
git clone https://github.com/shanselman/FlaUI-MCP.git
cd FlaUI-MCP

# Build
dotnet build src/FlaUI.Mcp

# Run
dotnet run --project src/FlaUI.Mcp

建筑

┌─────────────────────────────────────────────────────────────────┐
│  AI Agent (GitHub Copilot, Claude, etc.)                        │
│  - Calls MCP tools: windows_snapshot, windows_click, etc.       │
└─────────────────────────────────────────────────────────────────┘
                              │ MCP Protocol (JSON-RPC over stdio)
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│  FlaUI-MCP Server (.NET 8)                                      │
│  - Implements MCP tool handlers                                 │
│  - Builds agent-friendly accessibility snapshots                │
│  - Maps element refs ↔ AutomationElements                       │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│  FlaUI Library (github.com/FlaUI/FlaUI)                         │
│  - UIA3Automation for modern apps (WPF, UWP, Win32)            │
│  - Control patterns: Invoke, Value, Toggle, Selection           │
│  - Tree walking and element discovery                           │
└─────────────────────────────────────────────────────────────────┘

支持的应用程序

适用于支持UI自动化的任何Windows应用程序:

  • ✅ Win32应用程序(记事本、资源管理器等)
  • ✅ WPF应用程序
  • ✅ WinForms应用程序
  • ✅ UWP/应用商店应用程序(计算器、设置等)
  • ⚠️ 电子应用程序(部分-取决于可访问性实现)
  • ❌ 游戏(通常不支持UI自动化)

贡献

欢迎投稿!请参阅 贡献.md 作为指导方针。

许可证

MIT许可证-请参阅 许可证 了解详情。

致谢

目录标签

目录标签

C#ClaudeAI代理Windows自动化本地部署UI自动化桌面应用控制无障碍APIAI代理集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP