check_system_dependencies
Check if the host system has all required dependencies for mcp-tuikit to run properly.
Let an agent drive a terminal application — launch nvim or btop in an isolated session, send keystrokes, wait for output, and take a text or PNG snapshot of the screen.
LABSCO SUMMARY
Sessions run inside tmux, so an agent poking at vim cannot disturb your own shell, and the screen comes back either as text or as an actual rendering — which is the difference between checking that output appeared and checking that a TUI drew correctly. The YAML flow is the practical upgrade for repeatable work: the whole spawn-wait-type-snapshot sequence executes server-side instead of costing a round trip per keystroke. Check the dependency tool first; what works headlessly depends heavily on the OS and backend.
Terminal automation over tmux. Each session runs isolated from your own shell, and the agent sees the result either as a text grid or as a screenshot of the rendered terminal.
Tmux, which is what holds the sessions — brew install tmux on macOS, the distribution package on Linux, and on Windows a native Win32 port rather than the MSYS2 or WSL build. Run it with npx -y @dragoscirjan/mcp-tuikit over stdio, from the npm package @dragoscirjan/mcp-tuikit. The backend decides where the terminal is actually rendered: xterm.js through a headless Playwright Chromium, or a native emulator — Alacritty, WezTerm, Kitty, Ghostty, Terminal.app, iTerm2 — picked from your OS and what is installed, and forced with MCP_TUIKIT_BACKEND. On Linux, native headless rendering needs a virtual compositor: Xvfb with imagemagick for X11, or sway or kwin with grim for Wayland. On macOS and Windows there is no true headless mode for native emulators, so spawning one pops a real window on screen — the xterm.js backend is the way to stay silent. Only static text and PNG snapshots are captured; there is no video recording.
One command — npx -y @dragoscirjan/mcp-tuikit
USE CASES
Launch it in a session, type the input, wait for the expected output, and capture the screen.
Run it and take a PNG snapshot, rather than inferring from text output that it looked right.
Write the sequence as a YAML flow and run it in one call, with the snapshots captured along the way.
Send keys, wait for the screen to settle, read it, and decide the next move.
Run the dependency check for the configured backend before debugging further.
List what is still open and close the sessions you are done with.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
check_system_dependenciesCheck if the host system has all required dependencies for mcp-tuikit to run properly.
close_sessionClose a terminal session and its terminal window.
create_sessionCreate a new terminal session and open the configured terminal window.
create_snapshotCapture a txt and/or png snapshot from an active session.
list_sessionsList all active terminal sessions.
run_flowRun a TUI flow and capture snapshots.
send_keysSend keystrokes to an active terminal session.
wait_for_textWait for a regex pattern to appear in the terminal output.
BEFORE YOU INSTALL
8 tools when we connected. Spawn, wait_for, type, send_key, sleep and snapshot are steps inside a run_flow document, not separate tools.
All 4 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 8 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @dragoscirjan/mcp-tuikitclaude mcp add mcp-tuikit -- npx -y @dragoscirjan/mcp-tuikit{
"mcpServers": {
"mcp-tuikit": {
"command": "npx",
"args": [
"-y",
"@dragoscirjan/mcp-tuikit"
]
}
}
}{
"mcp": {
"mcp-tuikit": {
"type": "local",
"command": [
"npx",
"-y",
"@dragoscirjan/mcp-tuikit"
]
}
}
}