Skip to main content

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

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

Metadata

Release files for mcp-interminal 1.0.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for mcp-interminal 1.0.19
File Interpreter ABI Platform
mcp_interminal-1.0.19-py3-none-any.whl Python 3 none any Details

Release files / mcp_interminal-1.0.19-py3-none-any.whl

Download URL mcp_interminal-1.0.19-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
34cb61cdcfc0c5add2cb338ee01f19f857de8ec53a286fc237c939fc27fb1084
BLAKE2b-256 checksum
How to use checksums
e2dc8547cfff425185c62de461fcc61dfbfdc655bfca43acfc5a780625d9aeb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.0.19 This release

1 release file

1.0.18

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page