interminal

by QiuwenZheng

3 201 downloads Not rated yet MIT
GitHub

About

Lightweight MCP server for SSH and local terminal access

Details

License
MIT

Explore

- 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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name interminal
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository


uvx mcp-interminal

pip install mcp-interminal

Requires Python ≥ 3.11.

Claude Desktop (claude_desktop_config.json):

{
"mcpServers": {
"interminal": {
"command": "uvx",
"args": ["mcp-interminal"]
}
}
}

Cursor / other clients: same command + args format above.

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):


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.

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

| 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 |

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "interminal": {
            "interminal": {
                "command": "uvx",
                "args": [
                    "mcp-interminal"
                ]
            }
        }
    }
}

McpServers

{
    "interminal": {
        "command": "uvx",
        "args": [
            "mcp-interminal"
        ]
    }
}

<!-- mcp-name: io.github.QiuwenZheng/interminal -->

Lightweight MCP server that gives AI assistants terminal access — SSH and local shells — with support for interactive and long-running commands.

Installation

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.