Skip to main content
Glama
Hela-Ecosystem

Menager MCP Server

Menager MCP Server

MIT License TypeScript

Menager Terminal Orchestration

menager — это сервер Model Context Protocol (MCP) на TypeScript, предназначенный для оркестрации терминалов между сессиями. Он позволяет сессии ИИ-агента (или оператору-человеку) выступать в роли главной управляющей плоскости, способной запускать, отслеживать, управлять и подключаться к дочерним терминальным средам (CLI-инструментам, вторичным ИИ-агентам, интерактивным оболочкам или мультиязычным средам выполнения) через стандартные POSIX-псевдотерминалы (pty).

Содержание

Related MCP server: pty-mcp

Возможности

  • Мультиплексирование мультиязычных сред: управляйте интерактивными процессами, написанными на любом языке, через стандартные POSIX-псевдотерминалы.

  • Имитация ввода с клавиатуры: бесшовно вводите текст, управляющие последовательности (SIGINT, EOF, Ctrl+C) и «сырые» нажатия клавиш в дочерний stdin.

  • Предсказуемый перехват событий: предоставляйте неблокирующие хуки на основе регулярных выражений с гарантированным таймаутом и опциональными немедленными автоответами.

  • Наблюдаемость с ограничением памяти: ведите отдельные циклические буферы для каждой сессии (по умолчанию 5 000 строк) с удалением ANSI-кодов в реальном времени для эффективного по токенам потребления контекста LLM.

  • Строгая асинхронность и дисциплина ресурсов: обработка событий остаётся чисто событийной с использованием event emitter'ов и промисов Node.js; границы буферов строго соблюдаются для предотвращения утечек памяти.

Установка

Установка вручную

# 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

Использование

Запуск сервера

Сервер работает через транспорт Stdio и предназначен для непосредственного запуска MCP-клиентами.

# Start the server (standard mode)
npm start

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

Доступные инструменты

session_spawn

Запускает новую дочернюю PTY-сессию.

  • command (string): Целевой бинарный файл или исполняемый файл (например, bash, python3). Обязательно.

  • args (string[]): Аргументы командной строки.

  • cwd (string): Путь к рабочей директории.

  • env (object): Дополнительные переменные окружения.

  • maxBufferLines (number): Лимит скользящего окна по числу строк в буферах памяти (по умолчанию 5000).

  • terminalType (string): Тип эмуляции терминала ("dumb" или "xterm-256color", по умолчанию "xterm-256color").

  • name (string): Опциональное логическое имя/метка для сессии.

  • cols (number): Колонки терминала (по умолчанию 80).

  • rows (number): Строки терминала (по умолчанию 24).

session_wait

Блокирует выполнение и ожидает корректного завершения сессии, возвращая её итоговый код выхода.

  • sessionId (string): Целевой ID сессии. Обязательно.

  • timeoutMs (number): Опциональный таймаут в миллисекундах.

session_write

Вводит нажатия клавиш, команды или escape-последовательности в стандартный ввод сессии.

  • sessionId (string): Целевой ID сессии. Обязательно.

  • payload (string): Строка или последовательность управляющих символов. Обязательно.

  • pressEnter (boolean): Добавляет \n к полезной нагрузке (по умолчанию false — критическое изменение в v4).

  • pressKey (string): Инъекция специальной клавиши (Ctrl+C, Ctrl+D, Enter, Tab, Escape, ArrowUp, ArrowDown).

session_read

Читает буферизованный вывод целевой сессии.

  • sessionId (string): Целевой ID сессии. Обязательно.

  • tailLines (number): Количество последних строк для получения (по умолчанию 100).

  • stripAnsi (boolean): Возвращать очищенный текст без ANSI-кодов (по умолчанию true).

  • clearBuffer (boolean): Очищать внутренние буферы после чтения (по умолчанию false).

  • offsetLines (number): Читать строки, начиная с этого абсолютного смещения индекса (заменяет tailLines).

  • grepPattern (string): Предварительная фильтрация строк буфера с помощью строки регулярного выражения.

session_hook

Ожидает конкретное регулярное выражение в потоке сессии с опциональным автоматическим ответом.

  • sessionId (string): Целевой ID сессии. Обязательно.

  • pattern (string): Строка регулярного выражения для наблюдения. Обязательно.

  • timeoutMs (number): Миллисекунды до истечения таймаута (по умолчанию 30000).

  • autoResponse (string): Опциональная строка для немедленной записи при совпадении.

  • triggerPayload (string): Записать полезную нагрузку после регистрации хука (предотвращает взаимоблокировку при конкурентном доступе).

session_resize

Изменяет размеры целевого PTY-терминала.

  • sessionId (string): Целевой ID сессии. Обязательно.

  • cols (number): Колонки терминала. Обязательно.

  • rows (number): Строки терминала. Обязательно.

session_signal

Отправляет POSIX-сигнал целевой сессии (с рекурсивным завершением дерева процессов).

  • sessionId (string): Целевой ID сессии. Обязательно.

  • signal (string): Сигнал для доставки (SIGINT, SIGTERM, SIGKILL). Обязательно.

session_close

Принудительно завершает дерево процессов сессии и немедленно удаляет буферы памяти.

  • sessionId (string): Целевой ID сессии. Обязательно.

session_prune

Принудительно удаляет сессии для освобождения памяти.

  • status (string): Удалять только сессии с этим статусом ("running" или "exited"). По умолчанию — "exited".

session_info

Возвращает актуальные метаданные и метрики одной сессии.

  • sessionId (string): Целевой ID сессии. Обязательно.

session_list

Перечисляет все активные и завершённые сессии, управляемые сервером. Параметры не требуются.

Настройка с ИИ-ассистентами

Настройка с Roo Code или Cline

  1. Откройте файл настроек MCP (обычно cline_mcp_settings.json или config.json).

  2. Добавьте следующую конфигурацию для стандартного режима stdio:

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

Настройка с Claude Desktop

  1. Откройте claude_desktop_config.json.

  2. Добавьте следующую конфигурацию:

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