cmuxlayer
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.
Inicio rápido
npm install -g cmuxlayerRequiere 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.jsonoclaude 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 terminal — new_split send_input send_key read_screen rename_tab close_surface browser_surface
Ciclo de vida del agente — spawn_agent send_to_agent wait_for wait_for_all interact stop_agent kill
Espacio de trabajo — list_surfaces list_agents my_agents get_agent_state read_agent_output notify set_status set_progress
Solo lectura (6)
Herramienta | Qué hace |
| Lista todas las superficies en los espacios de trabajo |
| Lee la salida de la terminal con el estado del agente analizado |
| Estado completo de un agente rastreado |
| Todos los agentes, con filtros opcionales |
| Hijos de un agente padre con estado de pantalla en vivo |
| Salida estructurada entre marcadores delimitadores |
Mutables (13)
Herramienta | Qué hace |
| Crea un panel dividido de terminal o navegador |
| Envía texto a una superficie |
| Envía una pulsación de tecla (return, escape, ctrl-c, etc.) |
| Cambia el nombre de una pestaña de superficie |
| Muestra un banner de notificación de cmux |
| Establece el par clave-valor del estado de la barra lateral |
| Establece el indicador de progreso (0.0-1.0) |
| Interactúa con superficies de navegador |
| Genera un agente CLI en un nuevo panel |
| Envía un prompt a un agente en ejecución |
| Bloquea hasta que el agente alcance un estado objetivo |
| Bloquea hasta que varios agentes terminen |
| Envía entrada interactiva (confirmar, cancelar, reanudar) |
Destructivas (3)
Herramienta | Qué hace |
| Cierra un panel de terminal o navegador |
| Detiene un agente de forma elegante |
| Fuerza la terminación de los procesos del agente |
Agentes soportados
CLI | Comando | Detección automática |
Claude Code |
| estado, modelo, tokens, % de contexto |
Codex |
| estado, modelo |
Gemini CLI |
| estado, modelo |
Cursor |
| estado |
Kiro |
| 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 logEl 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 checkingDesarrollo
npm install
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm start # Run compiled outputContribució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.
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