Gives Claude direct terminal access through seven tools: connect_ssh for remote shells, create_local for host execution, execute for running commands, and helpers for polling output, sending input, or killing processes. Long running commands return a command_id you can poll without blocking. The interesting bit is the Zellij integration. Without a multiplexer, each execute call is isolated and stateless. Install Zellij on the target machine and the AI automatically gets persistent sessions where cd, environment variables, and background processes stick around between calls. You can even attach to watch Claude work in real time. Ships as a uvx one liner, supports interactive prompts and control sequences.
Lightweight MCP server that gives AI assistants terminal access — SSH and local shells — with support for interactive and long-running commands.
# Run directly, no install needed (recommended)
uvx mcp-interminal
# Or install permanently
pip install mcp-interminal
Requires Python ≥ 3.11.
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"interminal": {
"command": "uvx",
"args": ["mcp-interminal"]
}
}
}
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 provides persistent state that survives across calls.
Zellij is strongly recommended on the host machine (local or remote):
# Linux / macOS / WSL
cargo install zellij # or: brew install zellij
# Check if installed
zellij --version
With Zellij installed, the AI agent will automatically create a persistent session where cd, environment variables, virtual environments, and long-running processes carry over naturally. As a bonus, you can run zellij attach <session-name> to watch the AI's terminal work in real-time.
cd /foo does not persist. Simple tasks: chain with &&. Multi-step workflows: the AI will use a Zellij session for persistent statestatus="partial" with a command_id; poll with read_output or send input with respond&; after the server daemonizes, the partial channel can be abandonedpip install "mcp-interminal[pty]" # Windows PTY support (pywinpty)
pip install "mcp-interminal[ansi]" # ANSI escape rendering (pyte)
pip install "mcp-interminal[pty,ansi]" # both
ray0907/git-mcp-server
cyanheads/git-mcp-server
io.github.b1ff/atlassian-dc-mcp-bitbucket
io.github.b1ff/atlassian-dc-mcp-jira
com.mcparmory/atlassian-jira
sirlordt/vscode-terminal-mcp