Server has 8 tools with complete input schemas and descriptions present for all tools and parameters. However, descriptions are minimal (10-50 chars), lacking context on WHEN to use tools, prerequisites, or recovery guidance. No output schemas documented. Parameter descriptions are terse (e.g., 'Name of the tmux session' repeated 5 times). No error handling guidance, errors return raw messages without actionable recovery steps. Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Tool names follow verb_noun pattern correctly. No parameter validation constraints (enums, ranges, patterns) despite many parameters accepting free-form strings. Composition is sound, each tool does one thing, but descriptions don't explain dependencies (e.g., tmux_send_keys requires a session to exist first).
Capture the visible content of a tmux pane. Returns the text currently displayed in the pane.
Create a new tmux session. If no name is provided, tmux will generate one. Returns session name.
Kill/terminate a tmux session and all its windows and panes.
List all panes in a tmux session with their details (index, size, active status).
List all active tmux sessions with their details (name, windows, created time, attached status).
Select a specific pane in a tmux session to make it active for commands.
Send keys/commands to a tmux session. Automatically appends Enter unless literal mode is specified.
No output schemas documented. LLMs cannot infer what fields list_sessions, capture_pane, or list_panes return, forcing them to guess at response structure and breaking downstream tool chaining.
Descriptions are terse (10 - 50 chars) and lack context. 'List all active tmux sessions with their details' does not explain WHEN to call this vs other tools, what 'details' means, or what the LLM should do with the result. Descriptions should be 50 - 200 chars with actionable context.
No error handling guidance. Error responses return raw messages ('Error: <message>') without telling the LLM what to do next. E.g., if tmux_send_keys fails because the session doesn't exist, the error should suggest 'Session not found. Call tmux_list_sessions() to see available sessions.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Split the current window in a tmux session horizontally or vertically to create a new pane.
Missing tool annotations. tmux_kill_session is destructive but has no destructiveHint. tmux_list_sessions is read-only but has no readOnlyHint. Annotations help LLMs reason about safety and retry logic.
Parameter descriptions lack constraints. 'pane_index' accepts a string but no format is specified (is it '0', '1', or '0:1'?). 'lines' accepts a number but no range is documented (min/max). Free-form parameters invite hallucinated values.