The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Interminal listing page.
Lightweight MCP server that gives AI assistants terminal access — SSH and local shells — with support for interactive and long-running commands.
Requires Python ≥ 3.11.
Claude Desktop (claude_desktop_config.json):
Cursor / other clients: same command + args format above.
| Tool | Description |
|---|---|
connect_ssh | Connect to an SSH server; returns session_id and welcome banner |
execute | Run a command locally (no session needed) or over SSH; returns output or status=partial + command_id |
read_output | Poll a running command for new output without sending input |
respond | Send text input to a command waiting at a prompt |
send_control | Send control keys: ctrl+c, ctrl+z, arrow keys, F-keys, etc. |
disconnect | Close an SSH session and release all resources |
Each execute call runs in an isolated channel — there is no persistent shell between calls. For simple tasks, chaining with && works.
For multi-step workflows (project development, debugging, deployment), a terminal multiplexer (like Zellij) provides persistent state that survives across calls. The AI agent can create a persistent session where cd, environment variables, virtual environments, and long-running processes carry over naturally.
cd /foo does not persist. Simple tasks: chain with &&. Multi-step workflows: use a terminal multiplexer.status="partial" with a command_id; poll with read_output or send input with respond