The interesting half is not that it runs commands but that it watches them: pattern waits, error detection across languages, and exit-code assertions turn a shell session into something an agent can verify rather than guess about. It can also open SSH sessions and execute anything, so the maintainers' own guidance is to keep tool approvals on and run it under a restricted account.
A server with 40 tools over persistent console sessions: create them locally or over SSH, send input, read filtered output, and run long jobs in the background.
- console_create_session opens a local shell (cmd, PowerShell, pwsh, bash, zsh, sh) or an SSH session, with up to 50 running at once
- console_send_input and console_send_key drive interactive prompts, including ctrl+c and other key sequences
- console_get_output and console_get_stream return filtered, paginated or streamed output; console_wait_for_output blocks until a pattern appears
- console_detect_errors scans output for errors, exceptions and stack traces across languages
- console_execute_async plus console_get_job_status, console_get_job_progress and console_get_job_result run long commands in the background with a priority queue
- console_assert_output, console_assert_exit_code and console_assert_no_errors turn a session into a test; console_save_snapshot and console_compare_snapshots diff state before and after
- console_save_profile stores SSH, Docker, WSL and cloud connections; console_use_profile connects with one call
- console_get_system_metrics and console_get_session_metrics report CPU, memory, disk and network use per system and per session
Node.js 18.0.0 or newer, and a clone — there is no npm package for it, so npx is not an install path. Build with npm ci and npm run build, then register the built server with your client. Saved profiles refuse inline secrets: use passwordEnvVar, privateKeyEnvVar or privateKeyPath, and passphraseEnvVar. Session persistence is off unless you set MCP_SESSION_PERSISTENCE.
Build from source — clone the repository and build it
