interminal
@QiuwenZheng
Lightweight MCP server for SSH and local terminal access
Overview
What is interminal?
Lightweight MCP server that gives AI assistants terminal access — SSH and local shells — with support for interactive and long-running commands.
How to use interminal?
Install via pip install mcp-interminal or run directly with uvx mcp-interminal. Configure your MCP client (e.g., Claude Desktop) using the command uvx with arguments ["mcp-interminal"]. Requires Python ≥ 3.11.
Key features of interminal
- SSH and local shell execution
- Interactive and long-running command support
- Tools: connect_ssh, execute, read_output, respond, send_control, disconnect
- Optional persistent state with Zellij terminal multiplexer
- Send control keys like ctrl+c, arrow keys, and F-keys
- Optional Windows PTY and ANSI rendering dependencies
Use cases of interminal
- AI-driven remote server management via SSH
- Executing shell commands and chaining with &&
- Multi-step workflows like project development and deployment
- Interactive applications requiring prompt responses
- Monitoring long-running commands with partial output
FAQ from interminal
How does execute handle persistent state?
Each execute call runs in an isolated channel; cd does not persist. For multi-step workflows, install Zellij on the host to provide a persistent session that carries over environment and state.
What are the optional dependencies?
Windows PTY support: pip install mcp-interminal[pty]. ANSI escape rendering: pip install mcp-interminal[ansi]. Both can be installed with pip install mcp-interminal[pty,ansi].
How do long-running commands work?
They return status="partial" with a command_id. Poll for output with read_output or send input with respond while the command runs.
What runtime is required?
Python 3.11 or higher.
How are SSH connections authenticated?
The README does not detail SSH authentication; SSH credentials are provided by the user when connecting. The server communicates with the MCP client via stdio.