Token导航 LogoToken导航

MCP Server · AI代理

screenread (Bambushu)

ScreenRead是一款为AI代理提供macOS无障碍树访问的工具,可快速获取屏幕上UI元素的即时结构化文本描述,适用于内容验证和UI状态检查。

未说明官方级别未说明来源级核验工具 5
SwiftClaudeAI代理

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
Bambushu
提供方
Bambushu

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

screenread (Bambushu) 属于AI代理类 MCP Server,公开资料标注 5 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

Read what's on screen without taking a screenshot.

ScreenRead使AI代理能够访问macOS的可访问性树——与VoiceOver和其他屏幕阅读器相同的结构化数据。您的代理不会捕获像素并将其通过视觉模型馈送,而是会获得描述屏幕上每个UI元素的即时结构化文本。

~100ms 而不是1-3秒。 零幻觉 --它读取操作系统知道的内容,而不是模型认为它看到的内容。

为什么

大多数AI代理工具使用屏幕截图来“查看”屏幕:

  1. 捕获PNG(~200ms)
  2. Base64编码和传输(~500KB-2MB)
  3. 视觉模型处理像素(昂贵、缓慢)
  4. 模型描述了什么 *认为* 它看到(有时是错误的)

但是,大约90%的代理任务都是基于文本的:“错误说了什么?”,“这个按钮可见吗?”“页面标题是什么?”。截图太夸张了。

ScreenRead跳过所有这些。它直接询问macOS:“此窗口中存在哪些UI元素?”并立即返回结构化文本。

截图屏幕阅读
速度1-3秒~100ms
代币成本高(视觉模型)低(文本)
准确度可以产生幻觉文本精确(从操作系统读取)
范围仅限网络(剧作家)或全屏任何macOS应用程序
不错视觉检查(布局、颜色)内容验证、UI状态

对于90%与内容和结构有关的任务,请使用ScreenRead。保留需要像素的10%的屏幕截图。

安装

从源代码构建

git clone https://github.com/Bambushu/screenread.git
cd screenread
swift build -c release
cp .build/release/screenread ~/.local/bin/
cp .build/release/screenread-mcp ~/.local/bin/

需求

  • macOS 13+(Ventura或更高版本)
  • 辅助功能权限(系统设置>隐私和安全>辅助功能)

用法

命令行界面

# Read the frontmost app
screenread

# Read a specific app
screenread --app Safari

# Fuzzy match a window title
screenread --window "inbox"

# Text only (no structure)
screenread --app Warp --text-only

# Shallow read (depth 2)
screenread --app Finder --shallow

# Full text, no truncation
screenread --app Terminal --full

# JSON output
screenread --app Safari --json

# Search for text across all open windows
screenread --find "error"
screenread --find "Submit"

# List all open windows
screenread --list

# Filter by role
screenread --app Safari --role AXButton,AXLink

# Exclude roles
screenread --app Safari --ignore AXGroup,AXScrollArea

# List interactive elements with click coordinates
screenread --clickable --app Safari
screenread --clickable --app Finder --json

# Watch for UI changes (poll every 2s, Ctrl+C to stop)
screenread --watch --app Safari
screenread --watch --app Safari --interval 5

# Stream JSONL (one JSON object per node per line)
screenread --stream --app Safari
screenread --stream --app Safari | jq 'select(.role == "AXButton")'

MCP服务器

添加到MCP配置中:

克劳德代码 (项目范围 .mcp.json 在项目根目录中):

{
  "mcpServers": {
    "screenread": {
      "command": "screenread-mcp"
    }
  }
}

克劳德桌面 (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "screenread": {
      "command": "/path/to/screenread-mcp"
    }
  }
}

这为任何MCP兼容客户端提供了五个工具:

screenread_snapshot

阅读特定应用程序或窗口的可访问性树。在没有参数的情况下,读取最前面(活动)的应用程序。

参数类型说明
appstring应用程序名称(例如。 "Safari")
windowstring窗口标题模糊匹配
pidinteger按进程ID设置的目标
depthinteger最大树深度(默认值:5)。使用0表示无限制--在大型应用程序上可能很慢。
textOnlyboolean仅文本,无结构
rolesstring要包含的逗号分隔的AX角色(例如。 "AXButton,AXLink")
ignorestring要排除的逗号分隔的AX角色(例如。 "AXGroup,AXScrollArea")
screenread_list

列出所有打开的窗口。每个窗口返回一行,格式如下: AppName [PID] — Window Title。无参数。

screenread_find_text

在所有打开的窗口中搜索可见文本。纯子字符串匹配(无正则表达式)。

参数类型说明
querystring要搜索的纯文本子字符串(必填)
caseSensitiveboolean区分大小写(默认值:false)

结果以100场比赛为限。使用 screenread_snapshot 通过特定的应用程序获得更有针对性的结果。

screenread_clickable

列出交互式元素(按钮、链接、文本字段)及其点击坐标。

参数类型说明
appstring应用程序名称(例如。 "Safari")
windowstring窗口标题模糊匹配
pidinteger按进程ID设置的目标
rolesstring覆盖默认交互角色(例如。 "AXButton,AXLink")

返回一个包含角色、标签、中心x/y坐标和状态(启用/禁用/聚焦/选中)的表。

screenread_watch

观察应用程序在一段时间内的UI变化。

参数类型说明
appstring应用程序名称(例如。 "Safari")
windowstring窗口标题模糊匹配
pidinteger按进程ID设置的目标
durationinteger观看时长(秒)(默认值:10,最大值:60)
intervalinteger轮询间隔(秒)(默认值:2,分钟:1)
textOnlyboolean仅比较文本内容(默认值:false)

以给定的间隔轮询可访问性树,并报告添加、删除和值/状态更改。

建筑

screenread/
├── Sources/
│   ├── ScreenReadCore/     # Shared library
│   │   ├── AXHelpers.swift       # Shared AX attribute accessors
│   │   ├── AXTreeWalker.swift    # Recursive accessibility tree traversal + streaming callback
│   │   ├── Formatter.swift       # Text tree, text-only, JSON, clickable output
│   │   ├── MCPProtocol.swift     # JSON-RPC types, tool dispatch, parameter validation
│   │   ├── StreamFormatter.swift # JSONL single-node encoder
│   │   ├── TargetResolver.swift  # App/window/PID resolution with fuzzy matching
│   │   ├── TreeDiffer.swift      # Compare two tree snapshots for changes
│   │   └── Types.swift           # AXNode, WalkResult, WindowInfo, errors
│   ├── screenread/         # CLI (uses ArgumentParser)
│   └── screenread-mcp/     # MCP server (Content-Length framed stdio)
└── Tests/
    └── ScreenReadCoreTests/  # 27 tests across 4 suites

核心图书馆(ScreenReadCore)CLI和MCP服务器都是围绕它的精简包装器。

平台

仅限macOS。ScreenRead使用苹果的 AXUIElement 可访问性API,它在其他平台上没有对等功能。Linux需要AT-SPI,Windows需要UI自动化——这是根本不同的API。

许可证

麻省理工学院

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

Swift本地部署AI代理无障碍访问UI解析macOS工具文本识别

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
screenread (Bambushu)

MCP World · 本页

5未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

screenread (Bambushu) 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

screenread (Bambushu) 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

screenread (Bambushu) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

screenread (Bambushu) 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

screenread (Bambushu) 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP