claude-mux-iterm
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
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.
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.
Six tools is well-scoped for a session management and messaging system. Each tool contributes to the core workflow without redundancy or bloat.
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.