
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 分