Skip to main content
Glama

cmuxLayer

AIエージェント同士は、お互いのターミナルを見ることができません。 1つのエージェントがタブ1で動き、もう1つがタブ2で動いている場合、あなたがその間のクリップボード役を担うことになります。cmuxLayerはこれを解決します。AIエージェントにターミナルワークスペースのプログラム制御権を与える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ドキュメント を参照してください

できること

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

キー押下を送信 (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

ソケットクライアントはUnixソケット経由でcmuxに接続します。切断時には自動再接続を行い、ソケットが利用できない場合はCLIサブプロセスにフォールバックします。

接続

レイテンシ

高速化

CLIサブプロセス

~142ms

ベースライン

Unixソケット

~0.1ms

1,423倍

トラブルシューティング

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

貢献

開発環境のセットアップとPRガイドラインについては CONTRIBUTING.md を参照してください。

ライセンス

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