Skip to content

Commit f405259

Browse files
committed
docs(about): Add tool parameter reference
why: Top MCP servers (Filesystem, Git) document each tool's parameters inline. Our about page only listed tool names in a table. what: - Replace tools summary table with per-tool parameter listings - Group by module (server, session, window, pane, options, environment) - Note common socket_name parameter once at the top - Include types, defaults, and brief descriptions for each parameter
1 parent 1eef6a5 commit f405259

1 file changed

Lines changed: 126 additions & 10 deletions

File tree

docs/about.md

Lines changed: 126 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,132 @@ Server (tmux server instance)
3838

3939
## Tools
4040

41-
### Tools
42-
43-
| Module | Tools |
44-
|--------|-------|
45-
| **Server** | `list_sessions`, `create_session`, `kill_server`, `get_server_info` |
46-
| **Session** | `list_windows`, `create_window`, `rename_session`, `kill_session` |
47-
| **Window** | `list_panes`, `split_window`, `rename_window`, `kill_window`, `select_layout`, `resize_window` |
48-
| **Pane** | `send_keys`, `capture_pane`, `resize_pane`, `kill_pane`, `set_pane_title`, `get_pane_info`, `clear_pane`, `search_panes`, `wait_for_text` |
49-
| **Options** | `show_option`, `set_option` |
50-
| **Environment** | `show_environment`, `set_environment` |
41+
All tools accept an optional `socket_name` (string) parameter for multi-server support. It defaults to the `LIBTMUX_SOCKET` env var. This parameter is omitted from the listings below.
42+
43+
### Server tools
44+
45+
- **`list_sessions`** — List all sessions
46+
- `filters` (dict or JSON string): Django-style filters (e.g. `{"session_name__contains": "dev"}`)
47+
- **`create_session`** — Create a new session
48+
- `session_name` (string): Name for the session
49+
- `window_name` (string): Name for the initial window
50+
- `start_directory` (string): Working directory
51+
- `x` (integer): Initial width
52+
- `y` (integer): Initial height
53+
- `environment` (dict): Environment variables to set
54+
- **`get_server_info`** — Get server status and metadata
55+
- **`kill_server`** — Kill the tmux server (destructive)
56+
57+
### Session tools
58+
59+
- **`list_windows`** — List windows in a session (or all sessions)
60+
- `session_name` (string): Session name
61+
- `session_id` (string): Session ID (e.g. `$1`)
62+
- `filters` (dict or JSON string): Django-style filters
63+
- **`create_window`** — Create a new window
64+
- `session_name` / `session_id` (string): Target session
65+
- `window_name` (string): Name for the window
66+
- `start_directory` (string): Working directory
67+
- `attach` (boolean, default: false): Make the window active
68+
- `direction` (`"before"` or `"after"`): Placement relative to current window
69+
- **`rename_session`** — Rename a session
70+
- `new_name` (string, required): New session name
71+
- `session_name` / `session_id` (string): Target session
72+
- **`kill_session`** — Kill a session (destructive)
73+
- `session_name` / `session_id` (string): Target session
74+
75+
### Window tools
76+
77+
- **`list_panes`** — List panes in a window (or all windows)
78+
- `session_name` / `session_id` (string): Target session
79+
- `window_id` (string): Window ID (e.g. `@1`)
80+
- `window_index` (string): Window index within session
81+
- `filters` (dict or JSON string): Django-style filters
82+
- **`split_window`** — Split a window to create a new pane
83+
- `pane_id` (string): Pane to split from
84+
- `session_name` / `session_id` / `window_id` / `window_index` (string): Target
85+
- `direction` (`"above"`, `"below"`, `"left"`, `"right"`): Split direction
86+
- `size` (string or integer): Size (e.g. `"50%"` or lines/columns)
87+
- `start_directory` (string): Working directory
88+
- `shell` (string): Shell command to run
89+
- **`rename_window`** — Rename a window
90+
- `new_name` (string, required): New window name
91+
- `window_id` / `window_index` (string): Target window
92+
- `session_name` / `session_id` (string): Target session
93+
- **`kill_window`** — Kill a window (destructive)
94+
- `window_id` (string, required): Window ID
95+
- **`select_layout`** — Set window layout
96+
- `layout` (string, required): `even-horizontal`, `even-vertical`, `main-horizontal`, `main-vertical`, `tiled`, or custom layout string
97+
- `window_id` / `window_index` (string): Target window
98+
- `session_name` / `session_id` (string): Target session
99+
- **`resize_window`** — Resize a window
100+
- `window_id` / `window_index` (string): Target window
101+
- `session_name` / `session_id` (string): Target session
102+
- `height` (integer): New height in lines
103+
- `width` (integer): New width in columns
104+
105+
### Pane tools
106+
107+
- **`send_keys`** — Send keys or text to a pane
108+
- `keys` (string, required): Keys or text to send
109+
- `pane_id` (string): Target pane ID (e.g. `%1`)
110+
- `session_name` / `session_id` / `window_id` (string): Fallback targeting
111+
- `enter` (boolean, default: true): Press Enter after sending
112+
- `literal` (boolean, default: false): Send literally (no tmux key interpretation)
113+
- `suppress_history` (boolean, default: false): Prepend space to suppress shell history
114+
- **`capture_pane`** — Capture pane content as text
115+
- `pane_id` / `session_name` / `session_id` / `window_id` (string): Target
116+
- `start` (integer): Start line (negative = scrollback)
117+
- `end` (integer): End line
118+
- **`get_pane_info`** — Get pane metadata (size, title, current command)
119+
- `pane_id` / `session_name` / `session_id` / `window_id` (string): Target
120+
- **`set_pane_title`** — Set a pane's title
121+
- `title` (string, required): New title
122+
- `pane_id` / `session_name` / `session_id` / `window_id` (string): Target
123+
- **`resize_pane`** — Resize a pane
124+
- `pane_id` / `session_name` / `session_id` / `window_id` (string): Target
125+
- `height` (integer): New height in lines
126+
- `width` (integer): New width in columns
127+
- `zoom` (boolean): Toggle zoom (cannot combine with height/width)
128+
- **`clear_pane`** — Clear pane content and scrollback
129+
- `pane_id` / `session_name` / `session_id` / `window_id` (string): Target
130+
- **`search_panes`** — Search across all pane contents
131+
- `pattern` (string, required): Text or regex to search for
132+
- `regex` (boolean, default: false): Interpret pattern as regex
133+
- `match_case` (boolean, default: false): Case-sensitive matching
134+
- `session_name` / `session_id` (string): Limit to a session
135+
- `content_start` / `content_end` (integer): Line range for capture
136+
- **`wait_for_text`** — Wait for text to appear in a pane
137+
- `pattern` (string, required): Text or regex to wait for
138+
- `regex` (boolean, default: false): Interpret pattern as regex
139+
- `pane_id` / `session_name` / `session_id` / `window_id` (string): Target
140+
- `timeout` (number, default: 8.0): Maximum seconds to wait
141+
- `interval` (number, default: 0.05): Seconds between polls
142+
- `match_case` (boolean, default: false): Case-sensitive matching
143+
- `content_start` / `content_end` (integer): Line range for capture
144+
- **`kill_pane`** — Kill a pane (destructive)
145+
- `pane_id` (string, required): Pane ID
146+
147+
### Option tools
148+
149+
- **`show_option`** — Query a tmux option value
150+
- `option` (string, required): Option name
151+
- `scope` (`"server"`, `"session"`, `"window"`, `"pane"`): Option scope
152+
- `target` (string): Target identifier (session name, window ID, or pane ID)
153+
- `global_` (boolean, default: false): Query the global value
154+
- **`set_option`** — Set a tmux option
155+
- `option` (string, required): Option name
156+
- `value` (string, required): Value to set
157+
- `scope` / `target` / `global_`: Same as `show_option`
158+
159+
### Environment tools
160+
161+
- **`show_environment`** — Show tmux environment variables
162+
- `session_name` / `session_id` (string): Target session (omit for server-level)
163+
- **`set_environment`** — Set a tmux environment variable
164+
- `name` (string, required): Variable name
165+
- `value` (string, required): Variable value
166+
- `session_name` / `session_id` (string): Target session (omit for server-level)
51167

52168
## Resources
53169

0 commit comments

Comments
 (0)