A Model Context Protocol server for tmux session management, providing tools to inspect, manage, execute commands, and tear down tmux sessions, windows, and panes.
Strong foundation with 12 well-named, read-only tools covering tmux introspection. All tools have descriptions (avg 120 chars) and input schemas with typed parameters. Naming follows verb_noun pattern consistently (list_*, get_*, capture_*, search_*, find_*). However, parameter descriptions are sparse, many lack detail on format, constraints, or when to use them. Output schemas are not documented in the source. Error handling guidance is absent. Tool composition is sound (each does one thing), but descriptions could better explain when to call each tool vs. alternatives (e.g., capture_pane vs. capture_since vs. snapshot_pane).
Capture the visible content of a pane.
Capture pane content since a previous cursor position.
Find a pane by its position within a window.
Get information about a specific pane.
Read the tmux server's version and how many sessions, windows and panes it holds. Use to confirm a socket is alive and which tmux is running it.
Read one session.
Get information about a specific window.
List tmux panes, optionally within one session or window. Filter for isCaller=true to answer 'which pane am I in?', which finds one only when this server drives the caller's own socket — get_server_info says whose socket that is. This reads sizes and running commands, not terminal text — for that use search_panes.
Output schemas not documented. Tools return structured data but LLMs cannot see what fields to expect, forcing them to guess downstream field names for chaining calls.
Parameter descriptions lack format/constraint details. 'socketName' and 'session' accept multiple formats (ID, name, default) but descriptions do not explain the format or resolution order.
Overlapping tool purposes not disambiguated. capture_pane, capture_since, and snapshot_pane all read pane content but descriptions do not explain when to use each (e.g., snapshot_pane for current state, capture_since for incremental updates).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
List the tmux sessions. This reads names and sizes, not terminal text — to find what a pane is showing, use search_panes.
List tmux windows, optionally within one session. This reads names and layouts, not terminal text — to find what a pane is showing, use search_panes.
Search for text patterns across panes.
Take a snapshot of a pane's current state.
No error handling guidance. Tools do not document what errors can occur (e.g., socket not found, pane does not exist) or how LLMs should recover.
Minimal parameter descriptions for get_* tools. get_session_info, get_window_info, get_pane_info descriptions are under 30 chars and do not explain what data is returned or when to call them.