tmux-mcp-server
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 |
|---|---|
| list_sessionsA | List active tmux sessions with details |
| get_sessionA | Get detailed info for a specific session by ID or name |
| create_sessionB | Create a new detached tmux session |
| list_windowsA | List tmux windows for a session or across all sessions |
| create_windowA | Create a new window in target session |
| select_windowB | Select target window to become active |
| list_panesA | List tmux panes for a target window/session or all sessions |
| get_pane_infoC | Get status, command, path, and dimensions of a pane |
| read_paneB | Read visible text and scrollback history from a pane |
| search_paneA | Search pane scrollback history using regex pattern |
| send_keysA | Send literal string text to a target pane |
| send_special_keyC | Send a special key shortcut (e.g. Enter, Up, C-c) |
| split_paneC | Split target pane horizontally or vertically |
| select_paneA | Select active pane by ID or direction (L, R, U, D) |
| resize_paneC | Resize pane relative or to absolute dimensions |
| zoom_paneB | Toggle zoom state (maximize/restore) for target pane |
| run_commandC | Run shell command with exact exit code and pipe-pane output capture |
| get_command_resultB | Poll status or fetch result of a tracked command execution |
| wait_commandA | Wait for a running command execution to finish |
| list_commandsA | List tracked command executions in current session |
| server_infoA | Get tmux server version, socket info, and counts |
| list_clientsA | List connected tmux clients |
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 22 tools
Each tool targets a distinct resource and action, with no true overlaps. The only near pair is get_pane_info vs read_pane, but one reports metadata and the other reads content, making them easy to distinguish.
Nearly all tools follow a consistent verb_noun snake_case pattern (e.g., list_sessions, create_window, send_keys). The single exception is server_info, which uses a noun phrase instead of get_server_info, breaking the pattern slightly.
With 22 tools, the set is on the heavier side, but the tmux domain is broad and the tools are organized into clear clusters (sessions, windows, panes, command execution, server info). The count feels justified rather than bloated.
The tool surface covers major tmux interactions comprehensively, but it lacks explicit destroy or rename operations for sessions, windows, and panes. Since run_command can execute arbitrary shell commands (including tmux kill/rename commands), these gaps are workable.