Labsco
MCP SERVER

Enhanced Terminal

by tsoernes

Shell execution that moves a slow command into the background instead of timing out — and lets you type into it afterwards.

Editors, Terminals & Local Dev Environment
Summary
The job that outlives its timeout is the whole idea.

Most terminal tools give you a timeout and a truncated log. Here the command keeps running, you get a handle to it, and you can read its output in byte ranges, cancel it, or type into its stdin when it asks a question. That last one matters more than it sounds — an installer that prompts halfway through is otherwise a dead end.

What it is

A Rust terminal server with real PTY support. Commands run synchronously with output streamed as it arrives, and any command still going after the async threshold moves to the background with a job id rather than failing.

What you get
  • enhanced_terminal — run a command with a configurable working directory, shell, timeout and output preview limit
  • enhanced_terminal_job_status to check a background job's progress, output, exit code and duration
  • enhanced_terminal_job_list for recent jobs, filterable by status, tag or working directory
  • enhanced_terminal_job_cancel to send SIGTERM to a running job on Unix
  • enhanced_terminal_job_stdin to write exact text into a running job's PTY — the answer to a prompt that appeared after it went to the background
  • detect_binaries, which scans PATH for developer tools across many categories in parallel and can be filtered to one category
  • Output pagination by byte range, so a very long log can be read in pieces
  • A denylist that refuses destructive commands, extendable with your own entries
  • Every shell execution appended to a call log on disk
Requirements

Rust 1.85 or newer to build it — there is no prebuilt package, so expect a cargo build. Shell information is detected at startup and included in the server instructions, so no discovery call is needed. Sudo is handled by authenticating once through an askpass dialog and then reusing the cached timestamp, refreshed in the background, which is what stops every later sudo command from stalling on a password prompt.