Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CMUXLAYER_ENABLE_CLAUDE_CHANNELSNoSet to '1' to enable Claude channels preview. This advertises experimental['claude/channel'] and emits notifications for agent lifecycles.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_surfacesC

List all surfaces (terminal/browser panes) across workspaces

new_splitC

Create a new split pane (terminal or browser)

send_inputA

Send text input to a terminal surface. When sending commands to another Claude session, press_enter can be unreliable — for critical inputs, use send_input without press_enter, then call send_key with key 'return' separately.

send_keyA

Send a key press to a terminal surface. Use this after send_input to reliably submit commands — especially when targeting interactive programs like Claude sessions.

read_screenC

Read the current screen content of a terminal surface

rename_tabC

Rename a surface tab

set_statusC

Set a sidebar status key-value pair

set_progressC

Set sidebar progress indicator (0.0 to 1.0)

close_surfaceC

Close a surface (terminal or browser pane)

browser_surfaceC

Interact with a browser surface (open, navigate, snapshot, click, type, eval, wait)

spawn_agentA

Spawn an AI agent in a new terminal surface. Returns immediately — use wait_for to block until ready.

wait_forA

Block until an agent reaches a target state (ready, done, error). Checks retroactively first.

wait_for_allA

Block until ALL agents reach target state OR any agent errors (fail-fast with partial results).

get_agent_stateB

Get the full state of an agent including cli_session_id for resume.

list_agentsB

List all agents with optional filters by state, repo, or model.

stop_agentA

Stop an agent gracefully (Ctrl+C) or forcefully (kill process).

send_to_agentB

Send text input to an agent. Agent must be in ready or idle state.

read_agent_outputA

Extract structured output from an agent's terminal between delimiter markers (e.g., REVIEW_OUTPUT_START / REVIEW_OUTPUT_END). Returns the content between the markers, or null if not found.

interactA

Send a message to an agent, or perform an agent action (interrupt, model switch, resume, skill, usage). If the agent is alive, sends directly. If not found, returns an error — use spawn_agent first.

killA

Stop one or more agents. Target can be a single agent ID, an array of IDs, or 'all'.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 20 tools

Disambiguation4/5

Most tools have distinct purposes, but some overlap exists between 'kill' and 'stop_agent' (both stop agents) and 'interact' and 'send_to_agent' (both send messages to agents). The descriptions help clarify differences, but an agent might occasionally misselect between these pairs.

Naming Consistency4/5

Tool names follow a consistent snake_case pattern throughout, with clear verb_noun structures (e.g., 'list_agents', 'spawn_agent', 'send_input'). Minor deviations include 'browser_surface' (noun_noun) and 'get_agent_state' (verb_noun_noun), but overall naming is highly predictable and readable.

Tool Count4/5

With 20 tools, the count is on the higher side but reasonable for managing agents, surfaces, and interactions in a complex environment like cmuxlayer. It feels slightly heavy but not excessive, as each tool appears to serve a specific role in the workflow.

Completeness5/5

The toolset provides comprehensive coverage for agent and surface management, including lifecycle operations (spawn, list, interact, stop, kill), surface control (create, read, rename, close), and utility functions (wait, progress, status). No obvious gaps are present for the stated domain.

Maintenance

ActivityActive
ResponsivenessResponsive