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.

Java 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

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

get_server_info

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

list_sessions

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

Session5 tools#

create_window

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

get_session_info

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

kill_session

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

list_windows

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

rename_session

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

Window9 tools#

get_window_info

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

kill_window

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

list_panes

Lists pane metadata and stable pane IDs. No filter; use the ‘command’ field to find a pane by what it runs. Inspect tmux metadata; accepts no client-supplied executable input.

move_window

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

rename_window

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

resize_window

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

select_layout

Applies a named tmux layout, a unique abbreviation or a checksummed saved layout. Names follow the running daemon’s version; mirrored main layouts require tmux 3.5. Malformed syntax is refused before window lookup; tmux validates geometry. Change tmux state; no client-supplied executable input.

select_window

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

split_window

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

Pane18 tools#

capture_pane

Returns what a pane shows now, its newest lines first to go when bounded, and a cursor for capture_since. Use it to read a pane once. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.

capture_since

Returns only the output a pane produced after a cursor from capture_pane or an earlier capture_since. Use it to follow a pane across turns without rereading it. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.

clear_pane_scrollback

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

find_pane_by_position

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

get_pane_info

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

kill_pane

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

paste_text

Pastes one literal text block into one target pane through an ephemeral buffer; paste-buffer input does not fan out to synchronized peers. The target cannot be caller or attended. Send input to a pane’s program; a shell that receives it runs it with your user’s permissions.

resize_pane

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

respawn_pane

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

run_shell_command

Runs one authored command in a trusted pane shell and waits for singular framed output and completion. Its two preflights refuse caller or attended panes and an effective cohort larger than one. Pre-existing exact-client-path, trap, eval, or exit functions are outside the supported boundary; marker display-message commands honor the trusted server’s command aliases and hooks. Run a shell command in a pane with your user’s permissions.

search_panes

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

select_pane

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

send_keys

Sends input to the target’s configured effective synchronized cohort without waiting for output. Every configured member must be live, nonmodal, and neither caller nor attended. Reports configured pane ids observed before dispatch, not delivery receipts. wait_for_text discounts recognized input; wait for the prompt before typing into a cold shell. Send input to a pane’s program; a shell that receives it runs it with your user’s permissions.

send_keys_batch

Sends up to sixty-four ordered pane-input operations, resolving and guarding the configured effective cohort separately for each ordered operation. A later policy or dispatch failure retains observed membership. Send input to a pane’s program; a shell that receives it runs it with your user’s permissions.

set_pane_title

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

set_synchronize_panes

When enabled, sets the inherited window default; pane-level overrides determine each pane’s effective synchronized value. Change tmux state; no client-supplied executable input.

snapshot_pane

Returns what a pane shows and its metadata, as list_panes describes a pane, in one call. Use it when both are needed; capture_pane alone reads less. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.

swap_pane

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

Hooks1 tool#

show_hooks

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

Options and environment4 tools#

set_history_limit

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

set_mouse_enabled

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

show_environment

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

show_option

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

Coordination2 tools#

signal_channel

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

wait_for_channel

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

Other tools3 tools#

call_read_tools_batch

Calls up to sixteen eligible inspect tools serially; inner tools receive no separate approval, and its nested authority is disclosed. The complete JSON-RPC response is capped at 1,000,000 bytes; a removed nested envelope is marked on its row and counted in truncatedBytes. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.

get_tmux_variables

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

wait_for_text

Waits for new pane output without accepting executable input. Discounts recognized input from this server while pending and for ten seconds after submission. Output identical to that input and partially redrawn echoes are ambiguous; use run_shell_command for commands you start. Wait for the prompt before typing into a cold shell. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.

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-java@c067fced0dfd.

The language API reference documents embedding and implementation types.

Esc

Type to search.

Reference preview Open reference