
一个以隐私为中心,仅限macOS的MCP服务器,允许AI代理捕获预先批准的应用窗口截图,提供安全的视觉上下文,用于开发和调试任务。
[!IMPORTANT] 需要屏幕捕捉权限+窗口审批设置-请参阅以下说明。
与其它截图工具不同,Screeny需要在每次捕获窗口之前获得用户的明确批准:
listWindows - 列出所有已批准的应用窗口,这些窗口可用于截图。
takeScreenshot - 根据ID捕获特定窗口的截图。
screeny://info - 服务器信息和配置详情首先安装:pipx install mcp-server-screeny
{
"mcpServers": {
"screeny": {
"command": "mcp-server-screeny",
"args": []
}
}
}
</details> <details> <summary><strong>使用uvx</strong></summary>注意: 如果遇到
ENOENT错误,请将"mcp-server-screeny"替换为可执行文件的完整路径(通过终端中的which mcp-server-screeny找到)。
{
"mcpServers": {
"screeny": {
"command": "uvx",
"args": ["mcp-server-screeny"]
}
}
}
</details>注意: 如果遇到“spawn uvx ENOENT”错误,请将
"uvx"替换为uvx的完整路径:which uvx # 查找您的uvx路径然后在配置中使用该完整路径(例如,
"/opt/homebrew/bin/uvx")。
首先安装:pipx install mcp-server-screeny
{
"mcpServers": {
"screeny": {
"command": "mcp-server-screeny",
"args": []
}
}
}
</details> <details> <summary><strong>使用uvx</strong></summary>注意: 如果遇到
ENOENT错误,请将"mcp-server-screeny"替换为可执行文件的完整路径(通过终端中的which mcp-server-screeny找到)。
{
"mcpServers": {
1. "screeny": {
"command": "uvx",
"args": ["mcp-server-screeny"]
}
}
}
</details>注意: 如果遇到“spawn uvx ENOENT”错误,请将
"uvx"替换为uvx的完整路径:which uvx # 查找您的uvx路径然后在配置中使用该完整路径(例如,
"/opt/homebrew/bin/uvx")。
[!NOTE] > Cursor MCP主机
- Cursor自动上下文总结可能会触发循环工具调用(重复截图)。
- 如果发生这种情况,降低KB上限(使用较小的预设)或选择具有更大上下文窗口的模型。
重要提示: 在运行窗口审批之前授予权限。
注意:您需要授予屏幕捕捉权限给两者:
- 您的终端应用(如Terminal.app、iTerm2等)- 运行设置所需(之后可以禁用)
- 您的MCP主机(如Claude Desktop、Cursor)- 捕获截图所需
添加它们的方法:
- 打开系统设置 > 隐私与安全性 > 屏幕与系统音频录制
- 点击**"+"**按钮
- 添加您的终端应用和MCP主机应用
- 授予权限后重新启动两个应用
在上面配置好您的MCP客户端后,批准哪些窗口可以被捕获。
<details> <summary><strong>如果使用pipx</strong></summary># 交互式审批
mcp-server-screeny --setup
# 自动批准所有当前窗口
mcp-server-screeny --setup --allow-all
</details>
<details>
<summary><strong>如果使用uvx</strong></summary>
# 交互式审批
uvx mcp-server-screeny --setup
# 自动批准所有当前窗口
uvx mcp-server-screeny --setup --allow-all
</details>
审批记录保存在~/.screeny/approved_windows.json。当您想要更新已批准窗口列表时,重新运行设置。
在设置过程中,您可以配置截图大小预设(影响稳定性和清晰度):
您的选择保存在~/.screeny/config.json作为max_b64_kb。您也可以通过环境变量SCREENY_MAX_B64_KB覆盖。活动上限限制在100–900KB。
# 测试窗口检测和权限
mcp-server-screeny --debug
# 如果窗口更改,重新运行设置
mcp-server-screeny --setup
"spawn uvx ENOENT" 错误
"uvx"which uvx"/opt/homebrew/bin/uvx" 或 "/usr/local/bin/uvx""未找到已批准的窗口"
mcp-server-screeny --setup(如果使用uvx,则运行uvx mcp-server-screeny --setup)"需要屏幕录制权限"或"未找到窗口"
欢迎提交拉取请求!如果您有任何新想法、错误修复或增强功能,请随时贡献。
这是我第一个MCP项目——如果您遇到任何错误,请打开一个问题,我会尽力解决!
<details> <summary><strong>为什么我创建了这个工具</strong></summary>我创建这个工具是为了简化我的移动开发工作流程。我厌倦了反复手动截屏来描述UI问题。有了Screeny,Cursor可以直接捕获我的iOS模拟器截图并在循环中迭代设计。我很期待看到其他人如何使用这个工具!
</details>MIT许可证