mcpField
S
Screeny

Screeny

本地服务
github.com/rohanrav媒体与设计1762 周前更新

关于 Screeny

Screeny 是面向 macOS 的 MCP 服务,让 AI Agent 捕获用户预先批准的应用窗口截图,适用于开发与调试中的视觉检查。截图在本机处理并在使用后立即删除,且不会切换窗口焦点。

主要功能

  1. 01仅捕获预先批准的窗口
  2. 02后台截图且不改变焦点
  3. 03返回完整像素图像数据
  4. 04配置 JPEG 负载大小上限
  5. 05截图使用后立即删除

适用场景

  1. 01检查 iOS 模拟器中的界面
  2. 02为开发问题提供视觉上下文
  3. 03在不中断当前操作时捕获窗口

MCP 相关

该 MCP 服务提供 `listWindows` 和 `takeScreenshot` 工具,以及 `screeny://info` 资源。只有用户批准的窗口可供兼容 MCP 客户端列出和捕获。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"screeny": {
"command": "uvx",
"args": [
"mcp-server-screeny"
]
}
}
}
启动命令uvx mcp-server-screeny

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-server-screeny

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Screeny 横幅

MCP 服务 版本 PyPI 下载量 macOS 许可证:MIT

Screeny MCP 服务:以隐私为先的 macOS 截图工具,适用于 AI Agent

一款以隐私为先、仅适用于 macOS 的 MCP 服务,可让 AI Agent 对预先批准的应用窗口进行截图,为开发和调试任务提供安全的视觉上下文。

安装 MCP 服务

重要

需要屏幕录制权限和窗口批准设置——请参阅下方说明。

🔒 以隐私为先的设计

与其他截图工具不同,Screeny 要求用户在捕获每个窗口前明确批准:

  • 窗口批准系统——只能捕获预先批准的窗口(在设置期间批准)
  • 由用户控制访问权限——由你决定哪些窗口可以访问
  • 非侵入式捕获——在后台截图,不改变窗口焦点,也不中断你的工作流
  • 无外部连接——Screeny 完全在你的设备上运行,截图使用后立即删除

可用工具

  • listWindows - 列出所有可用于截图的已批准应用窗口。

    • 仅显示用户已批准的窗口
  • takeScreenshot - 根据窗口 ID 对指定窗口进行截图。

    • 在后台捕获窗口 - 无需将窗口置于前台,但无法捕获最小化的窗口
    • 提供实际像素数据 - 完整保真的图像,而非 OCR 或文本提取结果
    • 可配置上限的 JPEG 压缩 - 截图始终采用 JPEG 压缩,并设有 base64 载荷上限(默认预设:Medium / 250KB),可配置并限制在 100–900KB
资源
  • screeny://info - 服务信息和配置详情

配置

Claude Desktop
  1. 打开 Claude 设置 → Developer → Edit Config
  2. 添加配置
  3. 保存配置后,重启 Claude Desktop
使用 pipx

首先安装:pipx install mcp-server-screeny

{
  "mcpServers": {
    "screeny": {
      "command": "mcp-server-screeny",
      "args": []
    }
  }
}

**注意:**如果出现 ENOENT 错误,请将 "mcp-server-screeny" 替换为可执行文件的完整路径(在终端中运行 which mcp-server-screeny 查找)。

使用 uvx
{
  "mcpServers": {
    "screeny": {
      "command": "uvx",
      "args": ["mcp-server-screeny"]
    }
  }
}

**注意:**如果出现 "spawn uvx ENOENT" 错误,请将 "uvx" 替换为 uvx 的完整路径:

which uvx  # 查找 uvx 的路径

然后在配置中使用该完整路径(例如,"/opt/homebrew/bin/uvx")。

### Cursor
  1. 打开 Cursor 设置 → Tools & Integrations → MCP Tools
  2. 添加配置
  3. 保存配置后重启 Cursor
使用 pipx

首先安装:pipx install mcp-server-screeny

{
  "mcpServers": {
    "screeny": {
      "command": "mcp-server-screeny",
      "args": []
    }
  }
}

**注意:**如果出现 ENOENT 错误,请将 "mcp-server-screeny" 替换为可执行文件的完整路径(在终端中运行 which mcp-server-screeny 查找)。

使用 uvx
{
  "mcpServers": {
    "screeny": {
      "command": "uvx",
      "args": ["mcp-server-screeny"]
    }
  }
}

**注意:**如果出现 "spawn uvx ENOENT" 错误,请将 "uvx" 替换为 uvx 的完整路径:

which uvx  # 查找 uvx 的路径

然后在配置中使用该完整路径(例如,"/opt/homebrew/bin/uvx")。

说明

> Cursor MCP 主机

  • Cursor 自动上下文摘要可能会触发工具调用循环(重复截屏)。
  • 如果发生这种情况,请降低 KB 上限(选择更小的预设),或选择上下文窗口更大的模型。

设置

1. 授予屏幕录制权限(必需)

**重要:**在运行窗口审批之前,请先授予权限。

注意:您需要同时向以下两者授予屏幕录制权限:

  1. 您的终端应用程序(Terminal.app、iTerm2 等)——运行设置所需(之后可以关闭)
  2. 您的 MCP 主机(Claude Desktop、Cursor)——截屏所需

添加方法:

  1. 打开系统设置 > 隐私与安全性 > 屏幕与系统音频录制
  2. 点击 "+" 按钮
  3. 添加您的终端应用程序和 MCP 主机应用程序
  4. 授予权限后,重启这两个应用程序
2. 窗口审批(必需)

在上方配置 MCP 客户端后,请批准允许截取的窗口。

如果使用 pipx
# Interactive approval
mcp-server-screeny --setup

# Auto-approve all current windows
mcp-server-screeny --setup --allow-all
如果使用 uvx
# Interactive approval
uvx mcp-server-screeny --setup

# Auto-approve all current windows
uvx mcp-server-screeny --setup --allow-all

审批结果保存在 ~/.screeny/approved_windows.json 中。需要更新已批准窗口列表时,请重新运行设置。

高级选项(可选)

在设置过程中,您可以配置截屏大小预设(会影响稳定性和清晰度):

  • Tiny(50KB) — 最稳定;细小文字会模糊
  • Small(100KB) — 推荐的默认设置;清晰度和稳定性均衡
  • Medium(250KB) — 细节更多;速度可能更慢,占用也更大
  • Large(500KB) — 细节丰富;可能触发客户端摘要
  • XL(750KB) — 细节最多;最容易出错

您的选择会以 max_b64_kb 的形式保存在 ~/.screeny/config.json 中。您也可以通过 SCREENY_MAX_B64_KB 环境变量覆盖该设置。生效的上限会限制在 100–900KB 范围内。

安全与隐私

  • 只能截取用户已批准的窗口
  • 所有处理都在您的设备本地进行
  • 截屏是临时的,使用后会立即删除

故障排除

权限问题
# Test window detection and permissions
mcp-server-screeny --debug

# Re-run setup if windows changed
mcp-server-screeny --setup
常见问题

"spawn uvx ENOENT" 错误

  • 解决方法:在 MCP 配置中使用 uvx 的完整路径,而不是仅使用 "uvx"
  • 使用以下命令查找路径:which uvx
  • 示例:"/opt/homebrew/bin/uvx" 或 "/usr/local/bin/uvx"

"No approved windows found"

  • 解决方法:先运行 mcp-server-screeny --setup(如果使用 uvx,则运行 uvx mcp-server-screeny --setup)

"Screen Recording permission required" 或 "No windows found"

  • 解决方法:在系统设置 > 隐私与安全性 > 屏幕与系统音频录制中授予屏幕录制权限
    • 点击 "+" 按钮,并手动添加您的 MCP 主机(Claude Desktop、Cursor 等)
    • 授予权限后,重启 MCP 主机应用程序
  • 授予权限后,请尝试重新运行设置

贡献

欢迎提交拉取请求!欢迎贡献新想法、错误修复或改进。

这是我的第一个 MCP 项目——如果你遇到任何错误,请提交一个问题,我会尽力修复!

我为什么创建这个工具

我创建这个工具是为了简化我的移动开发工作流。我厌倦了反复手动截屏来描述 UI 问题。借助 Screeny,Cursor 可以直接捕获我的 iOS 模拟器截图,并通过循环迭代设计。我很期待看到其他人会如何使用它!

要求

  • Python 3.10+
  • macOS
  • 屏幕录制权限

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。