Skip to main content
Glama
Vltja

Interactive Terminal MCP Server

by Vltja

🖥️ Interactive Terminal MCP Server

PyPI version License: MIT

A fully interactive terminal MCP server for AI agents with TUI support, keyboard control, and screen capture - Cross-platform (Windows, Linux, Mac).

✨ Features

  • 🖥️ Full Terminal Control - Create, manage, and delete terminal sessions

  • ⌨️ Keyboard Support - Arrow keys, Ctrl, Alt, F-keys, PageUp/Down, etc.

  • 📺 TUI Applications - Works with htop, vim, nano, mc, and more

  • 🔄 Auto-Update - Automatically checks and installs updates from PyPI

  • 🌍 Cross-Platform - Windows (pywinpty), Linux/Mac (ptyprocess)

Related MCP server: spectatty

📦 Installation

pip install vitjas-interactive-terminal

🚀 Usage

Start the MCP Server

You can start the server in 3 ways:

# Option 1: Entry Point (recommended)
vitjas-interactive-terminal

# Option 2: Python Module
python -m interactive_terminal

# Option 3: Python3 Module (Linux/Mac)
python3 -m interactive_terminal

MCP Configuration

For Claude Desktop / Agent Zero:

Linux/Mac (Option A - Entry Point):

{
  "mcpServers": {
    "InteractiveTerminal": {
      "command": "vitjas-interactive-terminal",
      "args": [],
      "init_timeout": 30
    }
  }
}

Linux/Mac (Option B - Python3 Module):

{
  "mcpServers": {
    "InteractiveTerminal": {
      "command": "python3",
      "args": ["-m", "interactive_terminal"],
      "init_timeout": 30
    }
  }
}

Windows:

{
  "mcpServers": {
    "InteractiveTerminal": {
      "command": "python",
      "args": ["-m", "interactive_terminal"],
      "init_timeout": 30
    }
  }
}

🛠️ Available Tools

Tool

Description

create_terminal

Create a new interactive terminal session

send_text

Send text/commands to a terminal

send_keys

Send special keys (arrows, Ctrl+C, etc.)

get_screen

Read terminal screen content

list_terminals

List all active terminals

delete_terminal

Delete/close a terminal

search_buffer

Search through terminal history

⌨️ Supported Keys

  • Navigation: up, down, left, right, home, end, pageup, pagedown

  • Control: ctrl+c, ctrl+d, ctrl+z, ctrl+a, ctrl+e, ctrl+u, ctrl+k, ctrl+w, ctrl+l

  • Alt: alt+f, alt+b, alt+d

  • Other: enter, escape, tab, backspace, delete, f1-f12

💡 Examples

Navigate htop:

# Create terminal and start htop
create_terminal → send_text("htop\n") → get_screen()
# Navigate with arrow keys
send_keys("down") → send_keys("enter")
# Exit
send_keys("f10") or send_keys("q")

Edit with nano:

# Create and open file
create_terminal → send_text("nano test.txt\n")
# Type content
send_text("Hello World!")
# Save and exit
send_keys("ctrl+x") → send_text("Y") → send_keys("enter")

🔧 Configuration

Disable Auto-Update:

VITJAS_AUTO_UPDATE=false vitjas-interactive-terminal

📋 Requirements

  • Python >= 3.10

  • Windows: pywinpty >= 2.0.0 (auto-installed)

  • Linux/Mac: ptyprocess >= 0.7.0 (auto-installed)

📜 License

MIT License - see LICENSE

👤 Author

Vltja - GitHub

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with interactive CLI processes via a real PTY, allowing them to send keystrokes, read screen output, and handle interactive prompts.
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to spawn and interact with real terminal sessions, capturing screenshots of rendered TUI output and sharing live sessions for debugging.
    2 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to spawn persistent terminal sessions, send keystrokes, read screen state, and assert output, allowing them to interact with stateful terminal applications like vim, htop, and gdb.
    16 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Give AI agents a persistent, interactive terminal with support for SSH, REPLs, database CLIs, TUI apps, and long-running processes.
    9
    11
    MIT