Skip to main content
Glama
GrigoriLab

claude-mux-iterm

by GrigoriLab

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
register_sessionA

Register the current iTerm2 session with a task ID.

This allows other Claude Code sessions to find and communicate with this session using the task ID.

Args: task_id: Unique identifier for this session (e.g., "task-a", "feature-auth"). Must be alphanumeric with hyphens/underscores, max 64 chars.

Returns: Result indicating whether registration succeeded.

Example: >>> register_session("task-a") RegisterSessionResult(success=True, task_id="task-a", ...)

list_sessionsA

List all registered active iTerm2 sessions.

Use this to discover which other Claude Code sessions you can communicate with.

Returns: List of active sessions with their task IDs.

Example: >>> list_sessions() ListSessionsResult( sessions=[ Session(task_id="task-a", ...), Session(task_id="task-b", ...), ], total_count=2, ... )

send_messageA

Send a message to a specific Claude Code session.

Use this to communicate with another Claude instance working on a related task. The message will be injected into the target session.

Args: target_task_id: Task ID of the target session (e.g., "task-b"). content: The message content to send. source_task_id: Your current task ID (the sender). priority: Message priority: "normal", "high", or "urgent".

Returns: Result indicating whether the message was sent.

Example: >>> send_message("task-b", "PR merged to main, please pull latest", "task-a") SendMessageResult(success=True, message_id="msg_abc123", ...)

broadcast_messageA

Broadcast a message to all other active Claude Code sessions.

Use this to notify all other sessions about important events, like when a PR is merged to main.

Args: content: The message content to broadcast. source_task_id: Your current task ID (the sender). priority: Message priority: "normal", "high", or "urgent".

Returns: Result indicating how many sessions received the message.

Example: >>> broadcast_message("PR #123 merged to main, please pull latest", "task-a") SendMessageResult(success=True, delivered_to=["task-b", "task-c"], ...)

list_messagesA

List messages received by this session.

Use this to see what other sessions have communicated to you.

Args: current_task_id: Your current task ID. unread_only: Only show messages not yet acknowledged.

Returns: List of messages with metadata.

Example: >>> list_messages("task-a", unread_only=True) ListMessagesResult(messages=[...], unread_count=3, ...)

acknowledge_messageA

Mark a message as read/acknowledged.

Use this after you've processed a message to remove it from your unread messages.

Args: message_id: The ID of the message to acknowledge. current_task_id: Your current task ID.

Returns: Result indicating whether acknowledgement succeeded.

Example: >>> acknowledge_message("msg_abc123", "task-a") AcknowledgeMessageResult(success=True, ...)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: registration, listing sessions, unicast, broadcast, listing messages, and acknowledging. No two tools could be confused, even though send_message and broadcast_message share the sending concept, their targets differ.

Naming Consistency5/5

All tool names follow the verb_noun pattern with snake_case, using consistent verbs like register, list, send, broadcast, and acknowledge. The naming is predictable and readable.

Tool Count5/5

Six tools is well-scoped for a session management and messaging system. Each tool contributes to the core workflow without redundancy or bloat.

Completeness4/5

The core lifecycle is covered: register, discover, send, broadcast, read, and acknowledge. A notable gap is the lack of an unregister_session or cleanup mechanism, which could leave stale sessions, but agents can work around this in practice.

Maintenance

ActivityInactive
ResponsivenessNo issues