
Can See
io.github.HurleySk由 GitHub 账号 HurleySk 发布v0.4.0更新于 Oct 24, 2026
Let AI agents see and interact with terminal/CLI apps via PNG screenshots
概览
一个本地 MCP 服务器,在虚拟终端中启动终端/CLI 应用,让助手以 PNG 截图查看画面、读取输出并发送按键进行操作。
- 可以做什么
- 在虚拟终端会话中启动 CLI 应用,并可列出、关闭单个或全部会话,查看进程状态与退出码。将终端截取为 PNG 图片,支持指定区域、按文字定位区域以及与基线对比的差异图。以纯文本读取可见缓冲区或回滚内容,并查询单元格的字符、颜色和属性。等待指定文字出现、输出空闲、某位置出现指定颜色或进程退出。发送按键和文本与应用交互。录制帧并生成动画 GIF。
- 适用场景
- 适合调试 TUI 应用、交互式 CLI 向导,或任何视觉终端输出(颜色、布局、光标位置)比纯文本更重要的场景。让助手看到用户所看到的画面,并逐步完成交互式提示。
- 运行要求
- 以 npm 包 can-see 通过 stdio 在本地运行(npx -y can-see 或全局安装)。需要 Node.js,并需本地编译 node-canvas 和 node-pty,因此要安装构建工具:Windows 上的 Visual Studio Build Tools、macOS 上的 Xcode Command Line Tools、Linux 上的 Cairo/Pango 开发库。可选环境变量 DEFAULT_COLS、DEFAULT_ROWS 和 IDLE_TIMEOUT_MS 用于调整终端尺寸和空闲自动关闭。
安装
在 SourceWeft 中
- 打开 控制台中的 Can See,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
can-see
[npm version] [npm downloads] [license] [node]
MCP server that lets AI agents see and interact with terminal/CLI applications through virtual terminals and PNG screenshots.
Built for Claude Code and any MCP-compatible agent.
Why?
Some things are easier to show than describe. When debugging a TUI app, an interactive CLI wizard, or anything with visual terminal output, can-see lets the agent see exactly what you see — colors, layout, cursor position, and all.
How it works
- Launch a CLI app in a virtual terminal (node-pty + @xterm/headless)
- Screenshot the terminal as a PNG image (rendered via node-canvas)
- Send keys/text to interact with the app
- Screenshot again to see the result
- Close the session when done
Installation
Prerequisites
can-see depends on node-canvas (Cairo) and node-pty, which require native compilation. Most systems will need:
- Windows: Visual Studio Build Tools (C++ workload) —
npm install --global windows-build-toolsor install from Visual Studio Installer - macOS: Xcode Command Line Tools —
xcode-select --install - Linux:
sudo apt install build-essential libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev librsvg2-dev
Configuration
Claude Code
Add to your project's .mcp.json:
Or if installed globally:
Other MCP clients
can-see uses stdio transport. Point your MCP client at the can-see binary or npx -y can-see.
Tools
Supported keys
Enter, Tab, Escape, Backspace, Space, Up, Down, Left, Right, Home, End, Delete, PageUp, PageDown, Ctrl+A through Ctrl+Z.
Environment variables
Example usage
From an MCP-connected agent:
Changelog
0.5.0
New tools:
wait_for_exit— wait for process exit, get exit code and signalclose_all— kill all active sessions at onceget_process_status— distinguish "app is idle" from "app has exited"screenshot_text_region— find text in viewport, capture surrounding area as PNG
Enhancements:
launchacceptsenvparameter for custom environment variableswait_for_idlesupportsexcludePattern(regex) for dynamic row exclusion in stableMs modestop_recordingreturnsframeCountanddurationMsmetadata alongside GIFget_cell_infosupportscompactoption for reduced output ({char, fg, bold}only)
Bug fixes:
- Fixed
wait_for_textandwait_for_colorrace condition where text/color present in the final buffer was missed when the process exited simultaneously - Added mutual exclusion validation when both
stableMsandidleMsare passed towait_for_idle
License
MIT
来源:README.md,提交 98dd50b
工具
0版本历史
1- v0.4.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分