About interminal
interminal is a lightweight MCP server that gives AI assistants access to local shells and SSH. It supports interactive and long-running commands, with output polling and input handling for ongoing processes.
Key features
- 01Connect to SSH servers
- 02Run local or remote commands
- 03Read output from running commands
- 04Send text to waiting commands
- 05Send control keys and close SSH sessions
Use cases
- 01Run commands on remote hosts over SSH
- 02Handle terminal programs that request input
- 03Poll output from long-running commands
MCP support
As an MCP server, interminal provides clients with tools for SSH connections, command execution, output reading, interactive input, control keys, and session disconnection.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEInterminal
Lightweight MCP server that gives AI assistants terminal access — SSH and local shells — with support for interactive and long-running commands.
Installation
# Run directly, no install needed (recommended)
uvx mcp-interminal
# Or install permanently
pip install mcp-interminal
Requires Python ≥ 3.11.
MCP Client Configuration
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"interminal": {
"command": "uvx",
"args": ["mcp-interminal"]
}
}
}
Cursor / other clients: same command + args format above.
Tools
| 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 |
Persistent State
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.
Key Behaviors
- Stateless execute — each call is an isolated channel;
cd /foodoes not persist. Simple tasks: chain with&&. Multi-step workflows: use a terminal multiplexer. - Long-running commands return
status="partial"with acommand_id; poll withread_outputor send input withrespond - SSH PTY is 500×200 xterm-256color so multiplexer sessions render at your actual terminal size
Optional Dependencies
pip install "mcp-interminal[pty]" # Windows PTY support (pywinpty)
pip install "mcp-interminal[ansi]" # ANSI escape rendering (pyte)
pip install "mcp-interminal[pty,ansi]" # both
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.