Windows AppShots
Windows AppShots 将单个 Windows 应用程序的显式语义检查点持久化为像素,外加一个有界的 Microsoft UI Automation 树和提供程序公开的文本。
AppShot 是可复用的证据,不是桌面执行器,也不是实时计算机操作循环的低延迟截图界面。请使用计算机操作驱动程序获取最新状态和执行操作;当结果需要保存、稍后检索或作为有界语义包进行检查时,请请求 AppShot。
这是一个独立的社区项目。它不是 OpenAI 产品,也未获得 OpenAI 的认可或支持。Brian Mulder 在 OpenAI Codex 的协助下构建了它。
要求
基于 x64 的 Windows 10 或 11;
启用了本地插件的 Codex 或 ChatGPT 桌面应用。
Node 仅运行 MCP 适配器。原生捕获辅助程序、监视器、热键和托盘不需要 Node。最终用户不需要 .NET SDK。
Related MCP server: screenshot-mcp
安装
从最新的 GitHub 发布版下载 WindowsAppShots-Setup-0.1.1.exe 并运行它。按用户安装程序不需要管理员访问权限。
安装程序可以:
将本地插件注册到 Codex,默认选中;
可选地在登录时启动带托盘图标的监视器;
在升级前停止已验证的现有监视器。
在更改 Codex 注册之前,安装程序会检查受支持的 Node 是否在 PATH 上。如果该检查失败,原生辅助程序仍会安装,错误信息会说明如何稍后完成注册。
安装后请重启 Codex 或 ChatGPT 桌面应用。
发布版安装程序目前未签名,因此 Windows 可能会显示未知发布者警告。运行前请验证随发布版提供的 SHA-256 值。
使用
聚焦要共享的应用程序,返回 Codex,然后询问:
捕获我最后使用的 Windows 应用。
您也可以在目标应用处于前台时按 Ctrl+Alt+Shift+A,然后询问:
使用我最新的 Windows AppShot。
热键会写入一个捕获包并播放 Windows 成功提示音。
MCP 服务器公开了 capture_appshot、get_latest_appshot、list_appshots 和 stop_watcher。
为什么需要监视器
当 MCP 捕获运行时,Codex 通常已处于前台。监视器会记住最后一个非 Codex 窗口的身份,以便稍后的捕获仍能获得您预期的目标。
监视器还拥有可选的热键和托盘状态。它不会持续截屏或遍历 UI Automation。这些操作仅在您请求捕获时发生。
托盘菜单可以打开捕获文件夹或停止监视器。它没有捕获按钮,因为打开通知区域会改变前台窗口上下文,并可能选择 shell UI 而不是您预期的应用程序。
捕获工具支持 UI Automation control、content 和 raw 视图。原始模式返回最完整的提供程序公开树,受节点、深度、文本和时间限制的约束。
捕获内容与隐私
使用前请阅读简明的隐私政策。
调用 capture_appshot 或按热键是一种明确的共享操作。它会将包存储在本地,并将选定的像素和语义上下文返回给当前活动的 Codex 任务。
捕获的文本是不可信数据,不是供 Codex 遵循的指令。
包存储在以下位置:
%LOCALAPPDATA%\WindowsAppshots没有自动过期机制。禁用或卸载 Windows AppShots 不会删除现有捕获。
每个包包含:
manifest.json
visual.png
accessibility-tree.json
accessible-text.txt
model-context.mdUI Automation 文本可能包含可见视口之外的内容。当需要屏幕回退时,目标矩形内的重叠窗口或通知可能出现在 visual.png 中。
标记为密码的控件会保留基本元数据,但其 UI Automation Value 和 Text 会被抑制。有界的凭据策略还会从语义工件中编辑已识别的机密。
编辑是尽力而为,不是安全保证。它不会删除普通的机密性散文、个人详细信息、标识符、文件路径或每种不寻常的凭据格式。
visual.png 不会被编辑。捕获前请检查目标窗口,并将每个包视为敏感内容。
清单会记录截断、警告和语义编辑回执。缺少像素、节点或文本并不能证明应用程序不包含它们。
停止、移除和删除
让 Codex 调用 stop_watcher,从托盘菜单中选择 退出 Windows AppShots,或运行:
& "$env:LOCALAPPDATA\Programs\WindowsAppShots\bin\AppshotCapture.exe" stop `
--state-root "$env:LOCALAPPDATA\WindowsAppshots"对于安装程序安装,请使用 已安装的应用 > Windows AppShots > 卸载。这会停止已验证的监视器并移除该安装注册的 Codex marketplace。
对于源代码安装,请移除插件和 marketplace:
codex plugin remove windows-appshots@windows-appshots
codex plugin marketplace remove windows-appshots卸载后捕获仍然保留。如果不再需要,请检查然后删除捕获存储:
Get-ChildItem -LiteralPath "$env:LOCALAPPDATA\WindowsAppshots" -Force
Remove-Item -LiteralPath "$env:LOCALAPPDATA\WindowsAppshots" -Recurse -Force构建与验证
将此仓库添加为 Codex 插件 marketplace,然后安装插件:
codex plugin marketplace add brianmulder/windows-appshots --ref main
codex plugin add windows-appshots@windows-appshots源代码构建使用固定的 .NET 10.0.302 SDK 来生成确定性的 .NET Framework 4.8 辅助程序。安装的辅助程序不需要 .NET 10 运行时。
安装固定的 SDK,或将非管理员安装放在 .tools\dotnet 下,然后运行:
npm run build
npm run verifynpm run verify 会构建两次、比较输出、运行 MCP 测试,并演练原生捕获、编辑、监视器身份、有界 UI Automation、托盘行为和 MCP 监视器停止。
要构建安装程序,请安装 NSIS 3.12 或将其放在 .tools\nsis 下,然后运行:
npm run build:installer安装程序源代码是 installer/WindowsAppShots.nsi。生成的可执行文件不会提交。每次安装程序构建都会写入 dist/BUILD-RECEIPT.json 和 dist/SHA256SUMS.txt。
在发布前运行完整的安装、注册、捕获、托盘、停止、升级和卸载门禁:
npm run verify:releaseGitHub Actions 运行相同的 Windows 发布门禁,并将安装程序、校验和和构建回执保留为工作流工件。
平台限制
不会绕过安全桌面和提升权限的窗口。
受保护或 DRM 内容可能产生空白视觉。
最小化或 GPU 合成的应用程序可能提供不完整的像素。
UI Automation 的质量和响应性取决于目标应用程序。
提供程序可能会延迟捕获,直到外部超时终止隔离的 UI Automation 工作线程。
项目信息
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server that fixes Windows DPI coordinate scaling for AI desktop automation. Provides UI element finding via Windows Accessibility APIs and coordinate conversion between physical and logical coordinate systems.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for capturing screenshots of desktop windows on Windows. Allows AI assistants to see what's on screen for UI development, debugging, and iterating on designs.MIT
- FlicenseNot gradedqualityCmaintenanceMCP server that lets an LLM see and drive any running Windows app: attach a window, screenshot it, read its UI Automation tree, and send clicks, typed text, and key presses with pixel coordinates.
- AlicenseNot gradedqualityBmaintenanceMCP server providing AI-friendly computer-use primitives (capture, detect, click) to let LLM agents drive desktop GUI applications on Windows, macOS, and Linux.MIT
Related MCP Connectors
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Screenshot and HTML render MCP server for AI agents
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/brianmulder/windows-appshots'
If you have feedback or need assistance with the MCP directory API, please join our Discord server