Summary
It works inside your terminal's state rather than starting a fresh shell each time.
Because the tools drive the active iTerm session, everything already true of it — the working directory, the environment, the SSH connection, the REPL you are in — is still true when the model types. send_control_character is what makes that survivable: a command that hangs gets interrupted instead of abandoning the session.
What it is
A local server with three tools against the active iTerm terminal: write to it, read what it printed, and send control characters.
What you get
- Write text into the active terminal, typically a command to run (write_to_terminal).
- Read back what the terminal printed, as many lines as you ask for (read_terminal_output).
- Send control characters, including Control-C and sequences such as ']' for the telnet escape (send_control_character).
Requirements
iTerm on a Mac, with the session you want driven as the active one, and Node.js on the machine. MIT licensed.
Setup effort
One command — npx -y iterm-mcp
