FlaUI屏幕阅读器MCP服务器
这是MCP(模型上下文协议)服务器的概念验证(PoC)实现,用于提取UIA3自动化树和与UI应用程序的基本交互,以便使AI能够在创建E2E UI测试期间提供支持。
使命宣言
该项目旨在通过为代理提供UI的自动化树表示来简化UI测试的创建,最大限度地减少AI幻觉,并为代理提供必要的上下文。
可用工具
屏幕阅读器工具
*GetAutomationTreeOfProcess*:返回所选流程的UIA3自动化树的相关信息。接受进程名称(不带.exe!)作为参数。
Ui互动工具
*突出显示*:用红色突出显示由提供的自动化ID或名称标识的元素,该元素属于提供的流程,持续30秒。
*Clickelement*:单击由提供的自动化ID或名称标识的元素,该元素属于提供的红色进程,持续30秒。
*选择项目元素*:在由Automation Id或Name标识的组合框中选择一个项目(由其文本标识),该项目属于提供的流程。
使MCP服务器可供AI代理使用
带有GitHub Copilot扩展的Visual Studio代码
假设您在Visual Studio Code中安装了GitHub Copilot扩展,您可以按如下方式配置它以使用MCP服务器:
- 如果尚未打开,请打开GitHub Copilot聊天,例如按
CTRL+ALT+I或者为您的环境配置的任何快捷方式。 - 确保GitHub Copilot在聊天窗口左下角设置为“Agent”。
- 单击聊天底部模型选择旁边的扳手和螺丝刀小图标。在Visual Studio代码窗口的顶部,将打开可用MCP服务器的列表。
- 单击可用MCP服务器列表顶部标记为“添加MCP服务器…”的小图标。
- 接下来,选择“命令(stdio)”。
- 在提示中输入以下命令并确认:
dnx Rotbarsch.FlaUiScreenReaderMcp --yes- 为您的配置输入一个唯一且信息丰富的名称,例如“ReqnRoll MCP服务器”。
- 名为的文件
mcp.json位于您的%APPDATA%/Code/User目录将打开。它应该看起来像这样:
{
"servers": {
"FlaUiScreenReaderMcp": {
"type": "stdio",
"command": "dnx",
"args": [
"Rotbarsch.FlaUiScreenReaderMcp",
"--yes"
]
}
},
"inputs": []
}- 保存文件。注意小
StartJSON节点顶部的提示,描述您新添加的MCP服务器。单击它以启动服务器。如果出现任何问题,Visual Studio Code将显示服务器的控制台输出以及详细的堆栈跟踪。 - 再次单击扳手和螺丝刀图标现在将显示您的MCP服务器。如果旁边的复选框未选中,请选中它。
- GitHub Copilot现在可以使用了。尝试用以下方式提示:
Which buttons are currently enabled in application 'awesometool'?- 在首次使用特定功能(在MCP世界中称为“工具”)之前,聊天将通过提示请求您的许可。
确认该提示后,您应该得到一个答案,其中列出了定义程序集中所有可用的ReqnRoll绑定。
Visual Studio与GitHub Copilot
- 打开“GitHub Copilot聊天”窗口。
- 点击聊天窗口右下角标有“选择工具”的小扳手图标。打开可用MCP服务器列表。
- 单击工具列表右上角的绿色小加号。将打开一个新对话框。
- 填写对话框:
- 目标:选择服务器是全局可用还是仅在当前解决方案中可用。
- 服务器ID:为您的配置输入一个唯一且信息丰富的名称,例如“ReqnRoll MCP服务器”。
- 类型:选择“stdio”。
- 命令:输入
dnx Rotbarsch.FlaUiScreenReaderMcp --yes.
- 单击“保存”。MCP服务器现在已添加到可用工具列表中。
- GitHub Copilot现在可以使用了。尝试用以下方式提示:
Which buttons are currently enabled in application 'awesometool'?- 在首次使用特定功能(在MCP世界中称为“工具”)之前,聊天将通过提示请求您的许可。
确认该提示后,您应该得到一个答案,其中列出了定义程序集中所有可用的ReqnRoll绑定。
许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。
对第三方的依赖
有关依赖项许可证的信息可以在 第三方通知 文件。
