tui-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| launchA | Launch a TUI application in a managed pseudo-terminal. Returns a session ID for subsequent interactions. |
| list_sessionsB | List all active TUI sessions with their IDs, commands, and dimensions. |
| killB | Terminate a TUI session and its underlying process. |
| resizeB | Resize the terminal dimensions of a session. The TUI app will receive a SIGWINCH signal. |
| screenshotB | Capture the terminal as a PNG image. Shows exactly what a user would see - colors, styling, layout. |
| snapshotA | Capture the terminal buffer as plain text. Faster and cheaper than a screenshot - use this when you only need the text content. |
| read_regionC | Read a rectangular region of the terminal buffer as text. |
| cursorC | Get the current cursor position in the terminal. |
| send_keysA | Send keystrokes to the TUI app. Use this for special keys and shortcuts, not for typing text (use send_text for that). Accepts a single key descriptor string or an array of key descriptors to send in sequence. Supports named keys (Enter, Tab, Escape, Up, Down, Left, Right, Backspace, Delete, Home, End, PageUp, PageDown, F1-F12, Space) and modifiers (Ctrl+, Alt+, Shift+). Examples: "Enter", "Ctrl+C", ["Down", "Down", "Down", "Enter"], ["Escape", ":wq", "Enter"]. |
| send_textA | Type a string of characters into the TUI app. The text is sent exactly as provided - MCP JSON handles escaping, so do not double-escape. To type a literal backslash, send one backslash. Include a trailing newline (\n) if you want to press Enter after the text. Use send_keys instead for special keys like Ctrl+C or arrow keys. |
| send_mouseB | Send a mouse event to the TUI app (if the app has mouse support enabled). |
| wait_for_textA | Wait until a regex pattern appears in the terminal buffer. Useful for waiting for prompts, loading states, or specific output. |
| wait_for_idleA | Wait until the terminal buffer stops changing. Useful after sending keys to wait for the app to finish rendering. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Each tool has a clearly distinct purpose with no overlap: cursor gets position, kill terminates, launch starts apps, list_sessions enumerates, read_region extracts text areas, resize changes dimensions, screenshot captures visual output, send_keys handles special keys, send_mouse sends mouse events, send_text types characters, snapshot captures text buffer, wait_for_idle waits for rendering, and wait_for_text waits for patterns. The descriptions explicitly differentiate similar tools like send_keys vs send_text and screenshot vs snapshot.
All tools follow a consistent verb_noun or verb_preposition_noun pattern (e.g., list_sessions, read_region, send_keys, wait_for_text). There are no deviations in style (all snake_case) or verb usage, making the naming predictable and readable throughout the set.
With 13 tools, the count is well-scoped for managing TUI applications, covering core operations like launching, interacting (keys, text, mouse), monitoring (cursor, sessions), capturing output (screenshot, snapshot, read_region), and waiting (idle, text). Each tool earns its place without redundancy or bloat for the domain.
The tool surface provides complete lifecycle coverage for TUI management: launch sessions, interact via keys/text/mouse, resize terminals, monitor state with cursor and sessions, capture output in multiple formats, and wait for conditions. There are no obvious gaps; agents can perform all typical TUI operations without dead ends.