mcpField
I
interminal

interminal

Local
github.com/QiuwenZhengDeveloper Tools4Updated 16w ago

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

  1. 01Connect to SSH servers
  2. 02Run local or remote commands
  3. 03Read output from running commands
  4. 04Send text to waiting commands
  5. 05Send control keys and close SSH sessions

Use cases

  1. 01Run commands on remote hosts over SSH
  2. 02Handle terminal programs that request input
  3. 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.

mcp.json · Universal config
{
"mcpServers": {
"interminal": {
"command": "uvx",
"args": [
"mcp-interminal"
]
}
}
}
Run commanduvx mcp-interminal

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimcp-interminal1.0.4

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

ToolDescription
connect_sshConnect to an SSH server; returns session_id and welcome banner
executeRun a command locally (no session needed) or over SSH; returns output or status=partial + command_id
read_outputPoll a running command for new output without sending input
respondSend text input to a command waiting at a prompt
send_controlSend control keys: ctrl+c, ctrl+z, arrow keys, F-keys, etc.
disconnectClose 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 /foo does not persist. Simple tasks: chain with &&. Multi-step workflows: use a terminal multiplexer.
  • Long-running commands return status="partial" with a command_id; poll with read_output or send input with respond
  • 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

Markdown supported

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.