Skip to main content
Glama

cmuxLayer

你的 AI 代理无法看到彼此的终端。 一个在标签页 1 运行,另一个在标签页 2 运行——而你成了它们之间的剪贴板。cmuxLayer 解决了这个问题:它提供了 22 个 MCP 工具,让 AI 代理能够以编程方式控制终端工作区。

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.jsonclaude mcp add cmuxlayer -s user -- cmuxlayer | Cursor .cursor/mcp.json | VS Code .vscode/mcp.json | Claude Desktop — 请参阅 MCP 文档 获取特定平台的路径

你可以做什么

告诉你的 AI 代理执行如下操作:

  • “向右拆分一个窗格并在那里运行我的测试套件”

  • “在新的窗格中启动一个 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

发送按键(回车、转义、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

套接字客户端通过 Unix 套接字连接到 cmux。断开连接时会自动重连,如果套接字不可用,则回退到 CLI 子进程。

连接

延迟

加速比

CLI 子进程

~142ms

基准

Unix 套接字

~0.1ms

1,423x

故障排除

cmux 未运行 cmuxLayer 需要一个正在运行的 cmux 实例。请先安装它,并在使用 cmuxLayer 之前启动一个 cmux 会话。

工具未在 Claude Code 中显示 添加 MCP 配置后重启 Claude Code。运行 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 AI 代理生态系统的一部分。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