Connection check
local install
can-see
Let AI agents see and interact with terminal/CLI apps via PNG screenshots
Tools
21
GitHub stars
—
Installs / wk
153
Licence
MIT
Transport
stdio
Last checked
never
Tools & capabilities
21 toolsRead from the published package source — this server runs locally, so there is no endpoint to query. Names are taken from the code, not observed at runtime, and descriptions are often absent.
capture_baseline
from source
Snapshot current terminal state for later diff comparison (screenshot also auto-captures a baseline) Snapshot current terminal state for later diff comparison (screenshot also auto-captures a baseline)
close
from source
Kill the app and clean up the session Kill the app and clean up the session
close_all
from source
Kill all active sessions at once. Useful for cleanup between test runs or when sessions may have been orphaned. Kill all active sessions at once. Useful for cleanup between test runs or when sessions may have been orphaned.
diff_screenshot
from source
Compare current terminal state against the baseline, return PNG with changed cells highlighted in red Compare current terminal state against the baseline, return PNG with changed cells highlighted in red
get_cell_info
from source
Query character, colors, and text attributes at a specific cell or range of cells Query character, colors, and text attributes at a specific cell or range of cells
get_process_status
from source
Get the current process status — use to distinguish Get the current process status — use to distinguish
launch
from source
Launch a CLI app in a virtual terminal. IMPORTANT: You MUST call Launch a CLI app in a virtual terminal. IMPORTANT: You MUST call
list_sessions
from source
List all active terminal sessions List all active terminal sessions
read_scrollback
from source
Read text that has scrolled above the visible terminal viewport Read text that has scrolled above the visible terminal viewport
read_text
from source
Read the terminal buffer as plain text (for programmatic assertions instead of visual screenshots) Read the terminal buffer as plain text (for programmatic assertions instead of visual screenshots)
screenshot
from source
Capture the terminal as a PNG image Capture the terminal as a PNG image
screenshot_region
from source
Capture a specific rectangular area of the visible terminal as a PNG image Capture a specific rectangular area of the visible terminal as a PNG image
screenshot_text_region
from source
Find text in the viewport and capture the surrounding area as a PNG. Searches visible viewport only (single-line match, returns first match top-to-bottom). Find text in the viewport and capture the surrounding area as a PNG. Searches visible viewport only (single-line match, returns first match top-to-bottom).
send_keys
from source
Send keystrokes to the app (e.g., Send keystrokes to the app (e.g.,
send_text
from source
Type a string of text into the app Type a string of text into the app
start_recording
from source
Begin capturing terminal frames for an animated GIF (frames captured on output, not fixed interval) Begin capturing terminal frames for an animated GIF (frames captured on output, not fixed interval)
stop_recording
from source
Stop recording and return the captured frames as an animated GIF. If the GIF exceeds the inline size limit (~4MB), frames are automatically trimmed. If still too large, the GIF is… Stop recording and return the captured frames as an animated GIF. If the GIF exceeds the inline size limit (~4MB), frames are automatically trimmed. If still too large, the GIF is saved to a temp file and the path is returned. Use outputPath to always save to a specific file.
wait_for_color
from source
Wait until a specific color appears at a position (or anywhere in the viewport) Wait until a specific color appears at a position (or anywhere in the viewport)
wait_for_exit
from source
Wait until the process exits and return its exit code and signal Wait until the process exits and return its exit code and signal
wait_for_idle
from source
Wait until terminal output has been stable for a given duration. Use idleMs (default) for apps that stop producing output, or stableMs for apps with constant output like timers/spi… Wait until terminal output has been stable for a given duration. Use idleMs (default) for apps that stop producing output, or stableMs for apps with constant output like timers/spinners — stableMs compares buffer content instead of tracking raw PTY data.
wait_for_text
from source