Skip to main content
Glama
Menager MCP Server

Menager MCP Server

Menager MCP Server

MIT License TypeScript

Menager Terminal Orchestration

menager ist ein auf TypeScript basierender Model Context Protocol (MCP)-Server für die sitzungsübergreifende Terminal-Orchestrierung. Er ermöglicht es einer KI-Agenten-Sitzung (oder einem menschlichen Bediener), als Master-Kontrollebene zu fungieren, die Kind-Terminal-Harnesses (CLI-Tools, sekundäre KI-Agenten, interaktive Shells oder polyglotte Laufzeitumgebungen) über standardmäßige POSIX-Pseudo-Terminals (pty) erzeugen, überwachen, steuern und in diese einhaken kann.

Inhaltsverzeichnis

Related MCP server: pty-mcp

Funktionen

  • Polyglottes Harness-Multiplexing: Steuern Sie interaktive Prozesse in beliebiger Sprache über standardmäßige POSIX-Pseudo-Terminals.

  • Simuliertes menschliches Tippen: Fügen Sie Text, Steuersequenzen (SIGINT, EOF, Ctrl+C) und rohe Tastatureingaben nahtlos in das stdin des Kindprozesses ein.

  • Berechenbare Ereignisinterception: Bieten Sie nicht-blockierende Regex-Hooks mit Timeout-Garantien und optionalen sofortigen automatischen Antworten.

  • Speicherbegrenzte Beobachtbarkeit: Verwalten Sie dedizierte Ringspeicher pro Sitzung (standardmäßig 5.000 Zeilen) mit Echtzeit-ANSI-Entfernung für eine token-effiziente LLM-Kontextnutzung.

  • Strenge Asynchronität & Ressourcendisziplin: Die Ereignisbehandlung bleibt rein ereignisgesteuert mithilfe von Node.js-Event-Emittern und Promises; Puffergrenzen werden strikt durchgesetzt, um Speicherlecks zu verhindern.

Installation

Manuelle Installation

# Clone the repository
git clone <your-repo-url>
cd menager

# Install dependencies (requires build-essential/g++ for node-pty native bindings)
npm install

# Build the project
npm run build

Verwendung

Starten des Servers

Der Server läuft über den Stdio-Transport und ist dafür ausgelegt, direkt von MCP-Clients ausgeführt zu werden.

# Start the server (standard mode)
npm start

# Or run the built file directly
node build/index.js

Verfügbare Tools

session_spawn

Erstellt eine neue untergeordnete PTY-Sitzung.

  • command (string): Ziel-Binary oder -Programm (z. B. bash, python3). Erforderlich.

  • args (string[]): Befehlszeilenargumente.

  • cwd (string): Pfad zum Arbeitsverzeichnis.

  • env (object): Zusätzliche Umgebungsvariablen.

  • maxBufferLines (number): Rollierende Zeilenbegrenzung für Speicherpuffer (Standard: 5000).

  • terminalType (string): Typ der Terminalemulation ("dumb" oder "xterm-256color", Standard: "xterm-256color").

  • name (string): Optionaler logischer Name bzw. optionale Bezeichnung für die Sitzung.

  • cols (number): Terminalspalten (Standard: 80).

  • rows (number): Terminalzeilen (Standard: 24).

session_wait

Blockiert und wartet, bis eine Sitzung ordnungsgemäß beendet wird, und gibt ihren endgültigen Exit-Code zurück.

  • sessionId (string): Ziel-Sitzungs-ID. Erforderlich.

  • timeoutMs (number): Optionaler Timeout in Millisekunden.

session_write

Setzt Tastatureingaben, Befehle oder Escape-Sequenzen in die Standardeingabe der Sitzung ein.

  • sessionId (string): Ziel-Sitzungs-ID. Erforderlich.

  • payload (string): Zeichenfolge oder Steuerzeichensequenz. Erforderlich.

  • pressEnter (boolean): Hängt \n an die Nutzlast an (Standard: false - Breaking Change in v4).

  • pressKey (string): Injektion spezieller Tasten (Ctrl+C, Ctrl+D, Enter, Tab, Escape, ArrowUp, ArrowDown).

session_read

Liest die gepufferte Ausgabe der Ziel-Sitzung.

  • sessionId (string): Ziel-Sitzungs-ID. Erforderlich.

  • tailLines (number): Anzahl der abzurufenden letzten Zeilen (Standard: 100).

  • stripAnsi (boolean): Bereinigten Text ohne ANSI-Codes zurückgeben (Standard: true).

  • clearBuffer (boolean): Interne Puffer nach dem Lesen leeren (Standard: false).

  • offsetLines (number): Zeilen ab diesem absoluten Index-Offset lesen (ersetzt tailLines).

  • grepPattern (string): Pufferzeilen per Regex-String-Abgleich vorfiltern.

session_hook

Wartet auf ein bestimmtes Regex-Muster im Sitzungsstrom mit optionaler automatischer Antwort.

  • sessionId (string): Ziel-Sitzungs-ID. Erforderlich.

  • pattern (string): Regulärer Ausdruck, auf den gewartet werden soll. Erforderlich.

  • timeoutMs (number): Millisekunden bis zum Timeout (Standard: 30000).

  • autoResponse (string): Optionale Zeichenfolge, die bei Übereinstimmung sofort geschrieben wird.

  • triggerPayload (string): Nutzlast nach der Registrierung des Hooks schreiben (verhindert Parallelitäts-Deadlocks).

session_resize

Ändert die Abmessungen des Ziel-PTY-Terminals.

  • sessionId (string): Ziel-Sitzungs-ID. Erforderlich.

  • cols (number): Terminalspalten. Erforderlich.

  • rows (number): Terminalzeilen. Erforderlich.

session_signal

Sendet ein POSIX-Signal an die Ziel-Sitzung (mit rekursiver Beendigung des Prozessbaums).

  • sessionId (string): Ziel-Sitzungs-ID. Erforderlich.

  • signal (string): Zu sendendes Signal (SIGINT, SIGTERM, SIGKILL). Erforderlich.

session_close

Erzwingt das Beenden des Prozessbaums der Sitzung und löscht die Speicherpuffer sofort.

  • sessionId (string): Ziel-Sitzungs-ID. Erforderlich.

session_prune

Erzwingt das Löschen von Sitzungen, um Speicher freizugeben.

  • status (string): Nur Sitzungen mit diesem Status löschen ("running" oder "exited"). Standard: "exited".

session_info

Gibt die Live-Metadaten und Kennzahlen einer einzelnen Sitzung zurück.

  • sessionId (string): Ziel-Sitzungs-ID. Erforderlich.

session_list

Listet alle aktiven und abgeschlossenen Sitzungen auf, die vom Server verwaltet werden. Keine Parameter erforderlich.

Konfiguration mit KI-Assistenten

Konfiguration mit Roo Code oder Cline

  1. Öffnen Sie die MCP-Einstellungsdatei (normalerweise cline_mcp_settings.json oder config.json).

  2. Fügen Sie die folgende Konfiguration für den Standard-Stdio-Modus hinzu:

{
  "mcpServers": {
    "menager-mcp": {
      "command": "node",
      "args": ["/path/to/menager/build/index.js"],
      "env": {}
    }
  }
}

Konfiguration mit Claude Desktop

  1. Öffnen Sie claude_desktop_config.json.

  2. Fügen Sie die folgende Konfiguration hinzu:

{
  "mcpServers": {
    "menager-mcp": {
      "command": "node",
      "args": ["/path/to/menager/build/index.js"],
      "env": {}
    }
  }
}

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with terminal environments through multiple concurrent PTY sessions. Supports cross-platform terminal operations including command execution, session management, and real-time communication.
    15 npm
    3
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI agents to start and manage pseudo-terminal sessions, run shell commands and interact with REPLs programmatically.
    7
    -
  • 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.
    6 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to drive real interactive terminal sessions—PTYs, TUIs, REPLs, SSH, even another agent's CLI—with a live web view where humans can watch and type in.
    19 npm
    2
    MIT