Manage persistent interactive terminal sessions for any TUI app with screenshots, text capture, and input control.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Tui MCP.
launchSpawn a TUI app in a managed pty
killTerminate a session
list_sessionsList sessions, including recently exited ones
statusGet one session's state and exit code
resizeResize the terminal
screenshotCapture terminal as PNG
What Chrome DevTools MCP is for the browser, tui-mcp is for the terminal.
Launch any terminal app in a managed pty, take screenshots, read text, send keystrokes. The app thinks it's running in a real terminal. Works with any TUI framework or no framework at all - vim, htop, bubbletea, textual, ink, inquirer, trend, ncurses, whatever.
A bash tool runs discrete commands - each invocation is fire-and-forget. The process exits, the output comes back. tui-mcp maintains a persistent, interactive session. The pty stays alive between calls. This matters when:
mysql shell, you've USEd a database, you're in a transaction. A bash tool can't hold that session open between calls.git rebase -i drops you into an editor. These are conversational flows that a stateless bash tool can't handle.xterm-256color, so everything works as expected.A bash tool is exec(). tui-mcp is "sit down at a terminal and use it like a human." One runs commands, the other operates software.
Some example outputs of the screenshot tool:

| Tool | Description |
|---|---|
| launch | Spawn a TUI app in a managed pty |
| kill | Terminate a session |
| list_sessions | List sessions, including recently exited ones |
| status | Get one session's state and exit code |
| resize | Resize the terminal |
| screenshot | Capture terminal as PNG |
| snapshot | Capture terminal as plain text |
| scrollback | Read the buffer including scrolled-off history |
| output | Read the raw pty byte stream (escape sequences included) |
| read_region | Read a rectangular area of the buffer |
| cursor | Get cursor position |
| send_keys | Send a keystroke or combo (Enter, Ctrl+C, Ctrl+Up, q) |
| send_text | Type a string of characters |
| send_mouse | Send mouse events |
| wait_for_text | Wait for a regex pattern to appear |
| wait_for_idle | Wait until the terminal stops changing |
| wait_for_exit | Wait for the process to exit and get its exit code |
Most MCP servers wrap one specific tool or API. tui-mcp wraps the terminal itself, which is the universal interface that all tools already speak. It's MCP's eval().
Watch and control all active sessions from your terminal:
Session list on the left, live ANSI-rendered terminal preview on the right. The monitor discovers every running tui-mcp server on the machine and aggregates their sessions.
Keys:
j/k or arrows to move through servers and their sessions, g/G for top/bottom, mouse click and scroll also workenter on a session attaches - everything you type passes through to its pty, ctrl+\ detachesenter on a server opens the launch panel targeting its fetches the session's full scrollback into a scrollable view, esc returns to livel launches a new session on the selected row's server (ctrl+s cycles the target)x twice within 3 seconds kills the selected sessionq quitsAttach, launch, kill, and scrollback need the server to be 1.2 or newer; sessions on older servers are marked ro (read-only) and can still be watched.
The app runs in a real pseudo-terminal via node-pty. Its output is parsed by xterm-headless (the same terminal emulator that powers VS Code's terminal, but without a DOM). The MCP tools read and interact with that parsed buffer.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/nvms-tui-mcp)<a href="https://allmcps.com/mcp/nvms-tui-mcp"><img src="https://allmcps.com/api/badge/nvms-tui-mcp?style=directory" alt="Tui MCP on AllMCPs" /></a>