Skip to main content
Glama

cmuxLayer

Tus agentes de IA no pueden ver las terminales de los demás. Uno se ejecuta en la pestaña 1, otro en la pestaña 2, y tú eres el portapapeles entre ellos. cmuxLayer soluciona esto: 22 herramientas MCP que brindan a los agentes de IA control programático sobre los espacios de trabajo de la terminal.

install License MCP Tools Tests

Inicio rápido

npm install -g cmuxlayer

Requiere que cmux esté en ejecución.

Añádelo a tu configuración de MCP (Claude Code, Cursor, VS Code, Claude Desktop):

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

Ubicaciones de configuración: Claude Code .mcp.json o claude mcp add cmuxlayer -s user -- cmuxlayer | Cursor .cursor/mcp.json | VS Code .vscode/mcp.json | Claude Desktop — consulta la documentación de MCP para ver las rutas específicas de cada plataforma

Qué puedes hacer

Dile a tu agente de IA cosas como:

  • "Divide un panel a la derecha y ejecuta mi suite de pruebas allí"

  • "Genera un agente de Claude Code en un nuevo panel para refactorizar auth.ts"

  • "Lee la pantalla de surface:2 y dime si la compilación fue exitosa"

  • "Espera a que todos los agentes terminen, luego lee su salida"

  • "Establece el estado de la barra lateral para mostrar nuestro progreso de despliegue"

Internamente, cmuxLayer expone 22 herramientas MCP para el control de terminal, lectura de pantalla y orquestación multi-agente. read_screen analiza los metadatos del agente (estado, modelo, tokens, % de contexto) para Claude Code, Codex, Gemini, Cursor y Kiro.

Herramientas MCP (22)

Todas las herramientas incluyen ToolAnnotations para la aplicación automática de políticas de seguridad.

Control de terminalnew_split send_input send_key read_screen rename_tab close_surface browser_surface

Ciclo de vida del agentespawn_agent send_to_agent wait_for wait_for_all interact stop_agent kill

Espacio de trabajolist_surfaces list_agents my_agents get_agent_state read_agent_output notify set_status set_progress

Solo lectura (6)

Herramienta

Qué hace

list_surfaces

Lista todas las superficies en los espacios de trabajo

read_screen

Lee la salida de la terminal con el estado del agente analizado

get_agent_state

Estado completo de un agente rastreado

list_agents

Todos los agentes, con filtros opcionales

my_agents

Hijos de un agente padre con estado de pantalla en vivo

read_agent_output

Salida estructurada entre marcadores delimitadores

Mutables (13)

Herramienta

Qué hace

new_split

Crea un panel dividido de terminal o navegador

send_input

Envía texto a una superficie

send_key

Envía una pulsación de tecla (return, escape, ctrl-c, etc.)

rename_tab

Cambia el nombre de una pestaña de superficie

notify

Muestra un banner de notificación de cmux

set_status

Establece el par clave-valor del estado de la barra lateral

set_progress

Establece el indicador de progreso (0.0-1.0)

browser_surface

Interactúa con superficies de navegador

spawn_agent

Genera un agente CLI en un nuevo panel

send_to_agent

Envía un prompt a un agente en ejecución

wait_for

Bloquea hasta que el agente alcance un estado objetivo

wait_for_all

Bloquea hasta que varios agentes terminen

interact

Envía entrada interactiva (confirmar, cancelar, reanudar)

Destructivas (3)

Herramienta

Qué hace

close_surface

Cierra un panel de terminal o navegador

stop_agent

Detiene un agente de forma elegante

kill

Fuerza la terminación de los procesos del agente

Agentes soportados

CLI

Comando

Detección automática

Claude Code

claude

estado, modelo, tokens, % de contexto

Codex

codex

estado, modelo

Gemini CLI

gemini

estado, modelo

Cursor

cursor agent

estado

Kiro

kiro-cli

estado

read_screen detecta automáticamente el tipo de agente y analiza los metadatos de la salida de la terminal.

Arquitectura

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

El cliente de socket se conecta a cmux a través de un socket Unix. Se reconecta automáticamente al desconectarse y recurre al subproceso CLI si el socket no está disponible.

Conexión

Latencia

Aceleración

Subproceso CLI

~142ms

línea base

Socket Unix

~0.1ms

1,423x

Solución de problemas

cmux no se está ejecutando cmuxLayer requiere una instancia de cmux en ejecución. Instálalo primero y luego inicia una sesión de cmux antes de usar cmuxLayer.

Las herramientas no aparecen en Claude Code Reinicia Claude Code después de añadir la configuración de MCP. Ejecuta claude mcp list para verificar que cmuxlayer esté conectado.

Error de conexión de socket cmuxLayer descubre automáticamente el socket de cmux (macOS: ~/Library/Application Support/cmux/cmux.sock). Sobrescríbelo con CMUX_SOCKET_PATH si es necesario.

Pruebas

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

Desarrollo

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

Contribución

Consulta CONTRIBUTING.md para la configuración de desarrollo y las directrices de PR.

Licencia

Apache 2.0 — consulta LICENSE.


Parte del ecosistema de agentes de IA Golems. cmuxlayer.etanheyman.com | Creado por @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