MCPconceptTools

Choose documentation 3

latest

Current version

latest
English

Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

Go MCP reference

Tools

Browse the operations the server exposes to MCP clients. Use the registered name and arguments when sending a tools/call request.

The reference configuration advertises 45 tools. Your server’s available objects depend on its configuration. Setup documentation explains how to connect a client.

Server3 tools#

create_session

Start a pane’s configured process; accepts no command payload. Creates a detached session whose first pane runs the configured process.

get_server_info

Inspect tmux metadata; accepts no client-supplied executable input. Reports whether the pinned server exists and its version.

list_sessions

Inspect tmux metadata; accepts no client-supplied executable input. Lists sessions on the pinned tmux server.

Session5 tools#

create_window

Start a pane’s configured process; accepts no command payload. Creates a window whose first pane runs the configured process.

get_session_info

Inspect tmux metadata; accepts no client-supplied executable input. Returns metadata for one session.

kill_session

Delete tmux state; accepts no command payload. Deletes one session and every window and pane in it.

list_windows

Inspect tmux metadata; accepts no client-supplied executable input. Lists windows, optionally only those in one named session.

rename_session

Change tmux state; no client-supplied executable input. Replaces a session’s name.

Window9 tools#

get_window_info

Inspect tmux metadata; accepts no client-supplied executable input. Returns metadata for one window.

kill_window

Delete tmux state; accepts no command payload. Deletes one window and every pane in it.

list_panes

Inspect tmux metadata; accepts no client-supplied executable input. Lists pane metadata and stable pane IDs.

move_window

Change tmux state; no client-supplied executable input. Moves a window to another session, optionally at an index.

rename_window

Change tmux state; no client-supplied executable input. Replaces a window’s name.

resize_window

Change tmux state; no client-supplied executable input. Sets a window’s width, height, or both.

select_layout

Change tmux state; no client-supplied executable input. Applies a named layout, a unique abbreviation for the running tmux version, or a saved layout from get_window_info. Invalid syntax is rejected before window lookup; tmux validates geometry when applying the layout.

select_window

Change tmux state; no client-supplied executable input. Makes one window active.

split_window

Start a pane’s configured process; accepts no command payload. Creates a pane whose configured process starts after the split.

Pane18 tools#

capture_pane

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Returns bounded pane content and a cursor.

capture_since

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Returns pane output produced after a cursor.

clear_pane_scrollback

Delete tmux state; accepts no command payload. Deletes retained scrollback from one pane.

find_pane_by_position

Inspect tmux metadata; accepts no client-supplied executable input. Finds a pane at one of a window’s four corners.

get_pane_info

Inspect tmux metadata; accepts no client-supplied executable input. Returns metadata for one pane.

kill_pane

Delete tmux state; accepts no command payload. Deletes one pane and ends its process.

paste_text

Send input to a pane’s program; a shell that receives it runs it with your user’s permissions. Pastes literal text only to its target; optional Enter appends one newline to the same private buffer.

resize_pane

Change tmux state; no client-supplied executable input. Sets a pane’s width, height, or both.

respawn_pane

Start a pane’s configured process; accepts no command payload. Kills the pane’s current process and starts its configured process again.

run_shell_command

Run a shell command in a pane with your user’s permissions. Runs one command you author in a pane that is not synchronized with others, rechecks the pane just before sending, and waits for it to finish, reporting its exit status.

search_panes

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Searches the visible output of every pane.

select_pane

Change tmux state; no client-supplied executable input. Makes one pane active.

send_keys

Send input to a pane’s program; a shell that receives it runs it with your user’s permissions. Sends keys to a pane and to every pane synchronize-panes links it with; the ids reported are the panes checked before sending, not proof that each one received the keys.

send_keys_batch

Send input to a pane’s program; a shell that receives it runs it with your user’s permissions. Sends up to sixty-four key sequences in order, rechecking before each one which panes synchronize-panes links to its target.

set_pane_title

Change tmux state; no client-supplied executable input. Replaces a pane’s literal title.

set_synchronize_panes

Change tmux state; no client-supplied executable input. Sets the window synchronization default (synchronize-panes); pane-level overrides still decide which panes receive later input.

snapshot_pane

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Returns pane metadata and bounded terminal content together.

swap_pane

Change tmux state; no client-supplied executable input. Swaps the positions of two panes.

Hooks1 tool#

show_hooks

Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Reads configured tmux hooks.

Options and environment4 tools#

set_history_limit

Change tmux state; no client-supplied executable input. Sets a bounded integer scrollback limit for future panes in a session.

set_mouse_enabled

Change tmux state; no client-supplied executable input. Enables or disables tmux mouse handling.

show_environment

Read the tmux environment; accepts no client-supplied executable input. Returned values may contain secrets. Reads the environment tmux passes to processes.

show_option

Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Reads one named tmux option.

Coordination2 tools#

signal_channel

Change tmux state; no client-supplied executable input. Signals one server-wide tmux channel.

wait_for_channel

Change tmux state; no client-supplied executable input. Waits on tmux’s channel state with a bounded timeout.

Other tools3 tools#

call_read_tools_batch

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Calls up to sixteen eligible inspect tools serially; inner tools receive no separate approval. Retained rows contain full nested envelopes, oversized results are marked resultTruncated, and the complete JSON-RPC response is at most 1,000,000 bytes.

get_tmux_variables

Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Reads a capped list of validated tmux variable names, not free-form formats.

wait_for_text

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Waits for new pane output without accepting executable input.

Resources

1 advertised in the reference configuration.

Resource templates

This server does not advertise resource templates in the reference configuration.

Prompts

This server does not advertise prompts in the reference configuration.

Reference configuration
LIBTMUX_TOOLSETS
inspect,manage,execute,teardown

Protocol version: 2025-11-25. Download the full protocol catalog.

Source: libtmux/libtmux-go@2de249b600d6.

The language API reference documents embedding and implementation types.

Esc

Type to search.

Reference preview Open reference