Skip to main content

No project description provided

Project description

Interminal

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

Recommended: Install Zellij

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.

Key Behaviors

  • Stateless execute — each call is an isolated channel; cd /foo does not persist. Simple tasks: chain with &&. Multi-step workflows: the AI will use a Zellij session for persistent state
  • Long-running commands return status="partial" with a command_id; poll with read_output or send input with respond
  • TUI apps (zellij, vim, htop) must be started in the foreground — never background with &; after the server daemonizes, the partial channel can be abandoned
  • 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_interminal-1.0.19-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_interminal-1.0.19-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_interminal-1.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 34cb61cdcfc0c5add2cb338ee01f19f857de8ec53a286fc237c939fc27fb1084
MD5 59e06d749083907ed4ec850badeea4ea
BLAKE2b-256 e2dc8547cfff425185c62de461fcc61dfbfdc655bfca43acfc5a780625d9aeb7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page