Skip to main content
Glama
mkpvishnu

terminal-mcp

by mkpvishnu

Das Problem

Jedes KI-Coding-Tool stößt an dieselbe Grenze: kein echter Terminalzugriff.

Das Bash-Tool von Claude Code, GitHub Copilot und Codex führen Befehle in isolierten Unterprozessen aus. Jeder Befehl startet neu. Kein Zustand wird übernommen. Das bedeutet:

  • Keine SSH-Sitzungen – Keine Verbindung zu einem entfernten Server und Ausführung mehrerer Befehle möglich

  • Keine REPLs – Keine interaktive Nutzung von Python-, Node- oder Ruby-Interpretern

  • Keine Datenbank-CLIs – Keine dauerhafte Verbindung mit psql, mysql oder redis-cli

  • Keine TUI-Apps – Keine Navigation in htop, vim oder fzf mit Pfeiltasten

  • Keine langlaufenden Prozesse – Keine Überwachung von Builds, Logs oder Ausführung von Dev-Servern

Related MCP server: Interactive Terminal MCP Server

Die Lösung

terminal-mcp gibt KI-Agenten ein echtes Terminal. Beständige PTY-Sitzungen, die über Tool-Aufrufe hinweg bestehen bleiben. Befehle senden, Ausgaben lesen, Tasten drücken, TUIs navigieren – genau wie ein Mensch am Terminal.

uvx terminal-mcp

Ein Befehl. Funktioniert mit Claude Code, Claude Desktop, VS Code, Cursor und Windsurf.


Schnellstart

1. Installation (30 Sekunden)

# No install needed - run directly
uvx terminal-mcp

# Or install globally
pip install terminal-mcp

2. Verbindung mit Ihrem KI-Client herstellen

Zu ~/.claude.json oder Projekt-.mcp.json hinzufügen:

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

Zu claude_desktop_config.json hinzufügen:

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

Klicken Sie auf das One-Click-Install-Abzeichen oben, oder fügen Sie zu .vscode/mcp.json hinzu:

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

Zu ~/.codeium/windsurf/mcp_config.json hinzufügen:

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

3. Überprüfen

session_exec  exec="echo hello from terminal-mcp"

Was können Sie damit tun?

Per SSH auf entfernte Server zugreifen

session_create   command="ssh user@prod-server.com"   label="prod"
session_interact session_id="a1b2c3d4"  input="df -h"  wait_for="\$"
session_interact session_id="a1b2c3d4"  input="docker ps"  wait_for="\$"
session_close    session_id="a1b2c3d4"

Interaktive REPLs ausführen

session_create   command="python3"  label="python"
session_interact session_id="e5f6g7h8"  input="import pandas as pd"  wait_for=">>>"
session_interact session_id="e5f6g7h8"  input="df = pd.read_csv('data.csv')"  wait_for=">>>"
session_interact session_id="e5f6g7h8"  input="df.describe()"  wait_for=">>>"
session_close    session_id="e5f6g7h8"

Datenbanken abfragen

session_create   command="psql -U admin mydb"  label="db"
session_interact session_id="x1y2z3w4"  input="SELECT count(*) FROM users;"  wait_for="row"
session_interact session_id="x1y2z3w4"  input="\dt"  wait_for="#"
session_close    session_id="x1y2z3w4"

TUI-Apps navigieren

session_create   command="htop"  label="monitor"
session_read     session_id="a1b2c3d4"
# Auto-detects TUI, returns screen snapshot

session_send     session_id="a1b2c3d4"  key="F6"
session_read     session_id="a1b2c3d4"  mode="diff"
# Returns only changed lines - saves tokens

session_send     session_id="a1b2c3d4"  key="F10"
session_close    session_id="a1b2c3d4"

Langlaufende Builds überwachen

session_create   command="bash"  label="build"
session_send     session_id="a1b2c3d4"  input="npm run build"
session_wait_for session_id="a1b2c3d4"  pattern="Build complete|ERROR"  timeout=120

Einmalige Befehle ausführen

session_exec  exec="git log --oneline -10"
session_exec  exec="docker compose ps"  timeout=10

Auf einen Blick: Funktionen

Funktion

Was sie tut

Beständige Sitzungen

Echte PTY-Sitzungen, die über Tool-Aufrufe hinweg bestehen

Senden + Lesen in einem Aufruf

session_interact halbiert LLM-Rundrufe

Musterbasierte Lesevorgänge

wait_for blockiert, bis ein Regex passt – kein Raten bei Timeouts

Automatische TUI-Erkennung

Erkennt htop, vim usw. und wechselt automatisch in den Bildschirm-Snapshot-Modus

Ausgabe-Diff-Modus

Gibt nur geänderte Bildschirmzeilen zurück – minimiert Tokens

Spezielle Tasten

Pfeiltasten, Tab, F1-F12, Pos1/Ende, Bild auf/ab

Steuerzeichen

Strg-C, Strg-D, Strg-Z, Strg-L, Telnet-Escape

Gefahrenbefehl-Sperre

Blockiert rm -rf, DROP TABLE, curl|sh – erfordert Bestätigung

OSC 133 Shell-Integration

Erkennt automatisch Befehlsgrenzen und Exit-Codes

Intelligente Kürzung

Vier Strategien, um Überlauf des Kontexts zu vermeiden

Geheime Eingabe

Passwörter senden, ohne sie zu protokollieren

Dynamische Größenänderung

Terminalgröße im laufenden Betrieb mit SIGWINCH ändern

Bereinigung bei Inaktivität

Schließt inaktive Sitzungen automatisch

Plattformübergreifend

Unterstützt Linux, macOS und Windows


Tool-Referenz

terminal-mcp bietet 9 MCP-Tools. Vollständige Details in docs/tools.md.

Tool

Zweck

session_create

Eine beständige Terminalsitzung starten

session_send

Text, Tasten oder Steuerzeichen senden

session_read

Ausgabe lesen (Stream, Snapshot, Auto, Diff-Modi)

session_interact

Senden + Lesen in einem Aufruf

session_wait_for

Auf ein Regex-Muster in der Ausgabe warten

session_exec

Einmalige Befehlsausführung

session_close

Eine Sitzung ordentlich beenden

session_resize

Terminalabmessungen ändern

session_list

Aktive Sitzungen auflisten


Architektur

flowchart LR
    Client[AI Client] -->|MCP JSON-RPC| Server[terminal-mcp]
    Server --> SM[Session Manager]
    SM --> S1[PTY 1: bash]
    SM --> S2[PTY 2: python3]
    SM --> S3[PTY 3: ssh user@host]
    S1 & S2 & S3 -.->|PTY output| Reader[Reader Thread]
    Reader -.->|buffer| Server

Jede Sitzung basiert auf einem echten PTY über pexpect.spawn (oder PopenSpawn unter Windows). Vollständige Architekturdetails finden Sie in docs/architecture.md.


Konfiguration

Alle Einstellungen über Umgebungsvariablen TERMINAL_MCP_* konfigurierbar. Vollständige Referenz in docs/configuration.md.

Einstellung

Umgebungsvariable

Standard

Max. Sitzungen

TERMINAL_MCP_MAX_SESSIONS

10

Leerlauf-Timeout

TERMINAL_MCP_IDLE_TIMEOUT

1800 (30 Min)

Sicherheitssperre

TERMINAL_MCP_SAFETY_GATE

on

Puffergrenze

TERMINAL_MCP_MAX_BUFFER_BYTES

1000000 (1 MB)

Kürzungsmodus

TERMINAL_MCP_TRUNCATION_MODE

tail

Beispiel mit benutzerdefinierten Einstellungen:

{
  "mcpServers": {
    "terminal": {
      "command": "uvx",
      "args": ["terminal-mcp"],
      "env": {
        "TERMINAL_MCP_MAX_SESSIONS": "20",
        "TERMINAL_MCP_IDLE_TIMEOUT": "3600",
        "TERMINAL_MCP_TRUNCATION_MODE": "head_tail"
      }
    }
  }
}

Dokumentation

Dokument

Beschreibung

Tool-Referenz

Vollständige API für alle 9 MCP-Tools

Architektur

Wie terminal-mcp unter der Haube funktioniert

Konfiguration

Alle Einstellungen und Umgebungsvariablen

Sicherheit

Erkennung gefährlicher Befehle und Sicherheitssperre

Anwendungsfälle und Beispiele

Praxisrezepte und Muster

Änderungsprotokoll

Versionsgeschichte und Veröffentlichungshinweise

Mitwirken

Wie man mitwirken kann


Unterstützte Clients

Client

Status

Installation

Claude Code (CLI)

Unterstützt

~/.claude.json oder .mcp.json

Claude Desktop

Unterstützt

One-Click-Installation

VS Code (Copilot Chat)

Unterstützt

One-Click-Installation oder .vscode/mcp.json

Cursor

Unterstützt

One-Click-Installation oder Einstellungen

Windsurf

Unterstützt

~/.codeium/windsurf/mcp_config.json


Tests ausführen

pip install -e ".[dev]"
pytest tests/ -v

Mitwirken

Beiträge sind willkommen! Siehe docs/contributing.md für Richtlinien.

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
62dResponse time
6wRelease cycle
5Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Provides AI agents with fully interactive terminal sessions, including TUI support, keyboard control, and screen capture across Windows, Linux, and Mac.
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Enables AI agents to have persistent, fully interactive SSH sessions into remote hosts, behaving like a local terminal.
    23
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.

  • Run AI customer support from your terminal: conversations, knowledge base, and chat widget.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mkpvishnu/terminal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server