
Smart Terminal
Gives Claude persistent shell access through PTY-backed sessions instead of one-shot exec calls. You get terminal_exec for tracked commands with completion markers, terminal_read for incremental output fetching, terminal_wait for pattern matching, and terminal_watch for event-driven monitoring. Handles interactive tools like vim and npm prompts that break with piped stdin. Works across Windows, Linux, and macOS with auto-detected shells. Useful when you want stateful sessions that survive across turns, need to poll long-running dev servers without re-reading full buffers, or want portable terminal workflows that aren't tied to a specific AI client's built-in terminal behavior.
- GitHub stars
- 12
- tools
- 9
- transport
- STDIO
- last updated
- Oct 26, 2026
Tools
9 toolsPublic tool metadata for what this MCP can expose to an agent.
terminal_startStart a terminal session. Auto-detects shell if omitted.6 params
Start a terminal session. Auto-detects shell if omitted.
colsintegercwdstringenvobjectnamestringrowsintegershellstringterminal_execRun a command in a session and wait for completion.6 params
Run a command in a session and wait for completion.
commandstringmaxLinesintegerminOutputBytesintegerquietExitMsintegersessionIdstringtimeoutintegerterminal_runRun a binary directly. shell=true for built-ins/pipes/redirects.12 params
Run a binary directly. shell=true for built-ins/pipes/redirects.
argsarraycmdstringcwdstringmaxOutputBytesintegerparsebooleanparseOnlybooleanshellbooleansuccessExitCodevaluesuccessFilestringsuccessFilePatternstringsummarybooleantimeoutintegerterminal_writeWrite raw data to a terminal session.2 params
Write raw data to a terminal session.
datastringsessionIdstringterminal_readRead new output from a terminal session.5 params
Read new output from a terminal session.
idleTimeoutintegermaxLinesintegersessionIdstringsinceintegertimeoutintegerterminal_waitWait for a pattern to appear in terminal output.5 params
Wait for a pattern to appear in terminal output.
patternstringreturnModestringtail · full · match-onlydefault: tailsessionIdstringtailLinesintegertimeoutintegerterminal_stopStop a terminal session.3 params
Stop a terminal session.
sessionIdstringsnapshotLinesintegertranscriptPathstringterminal_listList active terminal sessions.1 params
List active terminal sessions.
verbosebooleanterminal_extra8 more tools: terminal_run_paged, terminal_get_history, terminal_resize, terminal_send_key, terminal_watch, terminal_retry, terminal_diff, terminal_write_file. list=true for full schemas, or pass tool + args to call.3 params
8 more tools: terminal_run_paged, terminal_get_history, terminal_resize, terminal_send_key, terminal_watch, terminal_retry, terminal_diff, terminal_write_file. list=true for full schemas, or pass tool + args to call.
argsobjectlistbooleantoolstringSponsors
Readme
smart-terminal-mcp
A PTY-based MCP server with strong Windows support, giving MCP-capable AI clients and their agents persistent, interactive shell access via pseudo-terminals (node-pty).
Unlike simple exec-based approaches, this keeps PTY-backed shell sessions alive across steps, with bidirectional communication for interactive CLI tools, incremental reads, and session state that carries forward.
See the Changelog for recent updates.
Why use this instead of your AI client's built-in terminal?
Install this if you want a more consistent terminal workflow across AI clients, instead of relying on whatever built-in terminal behavior a single client happens to provide.
This MCP is most useful when you want:
Details
- Repository
- github.com/pungggi/smart-terminal-mcp
- Category
- Developer Tools
- Package
smart-terminal-mcp- Transport
- STDIO
- Registry
- MCP registry, active