Skip to main content
Glama

cmuxLayer

Ваши ИИ-агенты не видят терминалы друг друга. Один работает во вкладке 1, другой — во вкладке 2, а вы выступаете в роли буфера обмена между ними. cmuxLayer решает эту проблему: 22 инструмента MCP, которые дают ИИ-агентам программный контроль над рабочими областями терминала.

install License MCP Tools Tests

Быстрый старт

npm install -g cmuxlayer

Требуется запущенный cmux.

Добавьте в конфигурацию MCP (Claude Code, Cursor, VS Code, Claude Desktop):

{
  "mcpServers": {
    "cmux": {
      "command": "cmuxlayer"
    }
  }
}

Расположение конфигураций: Claude Code .mcp.json или claude mcp add cmuxlayer -s user -- cmuxlayer | Cursor .cursor/mcp.json | VS Code .vscode/mcp.json | Claude Desktop — см. документацию MCP для путей, специфичных для платформы

Что вы можете делать

Давайте своему ИИ-агенту команды вроде:

  • "Раздели панель справа и запусти там мой набор тестов"

  • "Запусти агента Claude Code в новой панели для рефакторинга auth.ts"

  • "Прочитай экран surface:2 и скажи, прошла ли сборка"

  • "Дождись завершения всех агентов, затем прочитай их вывод"

  • "Установи статус боковой панели, чтобы отобразить прогресс развертывания"

Внутри cmuxLayer предоставляет 22 инструмента MCP для управления терминалом, чтения экрана и оркестрации нескольких агентов. read_screen анализирует метаданные агента (статус, модель, токены, % контекста) для Claude Code, Codex, Gemini, Cursor и Kiro.

Инструменты MCP (22)

Все инструменты поставляются с ToolAnnotations для автоматического обеспечения соблюдения политик безопасности.

Управление терминаломnew_split send_input send_key read_screen rename_tab close_surface browser_surface

Жизненный цикл агентаspawn_agent send_to_agent wait_for wait_for_all interact stop_agent kill

Рабочая областьlist_surfaces list_agents my_agents get_agent_state read_agent_output notify set_status set_progress

Только для чтения (6)

Инструмент

Что он делает

list_surfaces

Список всех поверхностей во всех рабочих областях

read_screen

Чтение вывода терминала с проанализированным статусом агента

get_agent_state

Полное состояние отслеживаемого агента

list_agents

Все агенты с дополнительными фильтрами

my_agents

Дочерние элементы родительского агента с живым статусом экрана

read_agent_output

Структурированный вывод между маркерами разделителей

Изменяющие (13)

Инструмент

Что он делает

new_split

Создание разделенной панели терминала или браузера

send_input

Отправка текста на поверхность

send_key

Отправка нажатия клавиши (return, escape, ctrl-c и т.д.)

rename_tab

Переименование вкладки поверхности

notify

Показ баннера уведомлений cmux

set_status

Установка пары ключ-значение статуса боковой панели

set_progress

Установка индикатора прогресса (0.0-1.0)

browser_surface

Взаимодействие с поверхностями браузера

spawn_agent

Запуск CLI-агента в новой панели

send_to_agent

Отправка промпта запущенному агенту

wait_for

Блокировка до достижения агентом целевого состояния

wait_for_all

Блокировка до завершения нескольких агентов

interact

Отправка интерактивного ввода (подтверждение, отмена, возобновление)

Деструктивные (3)

Инструмент

Что он делает

close_surface

Закрытие панели терминала или браузера

stop_agent

Корректная остановка агента

kill

Принудительное завершение процессов агента

Поддерживаемые агенты

CLI

Команда

Автоопределение

Claude Code

claude

статус, модель, токены, % контекста

Codex

codex

статус, модель

Gemini CLI

gemini

статус, модель

Cursor

cursor agent

статус

Kiro

kiro-cli

статус

read_screen автоматически определяет тип агента и анализирует метаданные из вывода терминала.

Архитектура

AI Agent  ─── MCP ───>  cmuxLayer  ─── Unix socket ───>  cmux
                         ├── Agent engine (spawn → monitor → teardown)
                         ├── Screen parser (5 agent formats)
                         ├── Mode policy (autonomous vs manual)
                         └── State manager + event log

Сокет-клиент подключается к cmux через Unix-сокет. Автоматически переподключается при разрыве соединения, переключается на CLI-подпроцесс, если сокет недоступен.

Соединение

Задержка

Ускорение

CLI-подпроцесс

~142мс

базовая линия

Unix-сокет

~0.1мс

1,423x

Устранение неполадок

cmux не запущен cmuxLayer требует запущенного экземпляра cmux. Сначала установите его, затем запустите сессию cmux перед использованием cmuxLayer.

Инструменты не появляются в Claude Code Перезапустите Claude Code после добавления конфигурации MCP. Выполните claude mcp list, чтобы убедиться, что cmuxlayer подключен.

Ошибка подключения к сокету cmuxLayer автоматически обнаруживает сокет cmux (macOS: ~/Library/Application Support/cmux/cmux.sock). При необходимости переопределите его с помощью CMUX_SOCKET_PATH.

Тестирование

npm test            # 335 tests via vitest
npm run typecheck   # Type checking

Разработка

npm install
npm run dev         # Run with tsx (hot reload)
npm run build       # Compile TypeScript
npm start           # Run compiled output

Участие в разработке

См. CONTRIBUTING.md для настройки среды разработки и правил оформления PR.

Лицензия

Apache 2.0 — см. LICENSE.


Часть экосистемы ИИ-агентов Golems. cmuxlayer.etanheyman.com | Создано @EtanHey.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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/EtanHey/cmuxlayer'

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