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.

Swift 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. Create a detached session with a configured pane process.

get_server_info

Inspect tmux metadata; accepts no client-supplied executable input. Return liveness and identity metadata for the selected tmux server.

list_sessions

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

Session5 tools#

create_window

Start a pane’s configured process; accepts no command payload. Create a window with a configured pane process.

get_session_info

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

kill_session

Delete tmux state; accepts no command payload. Delete one session and every window it owns.

list_windows

Inspect tmux metadata; accepts no client-supplied executable input. List windows, optionally within one session.

rename_session

Change tmux state; no client-supplied executable input. Set a literal-safe session name.

Window9 tools#

get_window_info

Inspect tmux metadata; accepts no client-supplied executable input. Return metadata and placements for one window.

kill_window

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

list_panes

Inspect tmux metadata; accepts no client-supplied executable input. List panes, optionally within a session or window.

move_window

Change tmux state; no client-supplied executable input. Move one window appearance to another session.

rename_window

Change tmux state; no client-supplied executable input. Set a literal-safe window name.

resize_window

Change tmux state; no client-supplied executable input. Resize the terminal dimensions reported for one window.

select_layout

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

select_window

Change tmux state; no client-supplied executable input. Select one exact window appearance.

split_window

Start a pane’s configured process; accepts no command payload. Create a configured-process pane without accepting command or environment data.

Pane18 tools#

capture_pane

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Return a bounded slice of rendered pane text.

capture_since

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Return output after an opaque pane cursor.

clear_pane_scrollback

Delete tmux state; accepts no command payload. Irreversibly discard retained scrollback for one pane.

find_pane_by_position

Inspect tmux metadata; accepts no client-supplied executable input. Find a pane occupying a named window corner.

get_pane_info

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

kill_pane

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

paste_text

Send input to a pane’s program; a shell that receives it runs it with your user’s permissions. Paste literal text and an optional newline target-only after two state checks.

resize_pane

Change tmux state; no client-supplied executable input. Resize one pane by dimensions or a directional amount.

respawn_pane

Start a pane’s configured process; accepts no command payload. Restart only the pane’s configured process; no caller command is accepted.

run_shell_command

Run a shell command in a pane with your user’s permissions. Run one command in a singular trusted POSIX shell and return bounded output.

search_panes

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Search bounded pane content for literal text or a regular expression.

select_pane

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

send_keys

Send input to a pane’s program; a shell that receives it runs it with your user’s permissions. Send keys after checking the effective synchronized-pane cohort.

send_keys_batch

Send input to a pane’s program; a shell that receives it runs it with your user’s permissions. Send an ordered bounded batch with a fresh check for every row.

set_pane_title

Change tmux state; no client-supplied executable input. Set one literal-safe pane title.

set_synchronize_panes

Change tmux state; no client-supplied executable input. Set the window input default; pane overrides determine effective synchronization.

snapshot_pane

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

swap_pane

Change tmux state; no client-supplied executable input. Swap two panes without changing their identities.

Hooks1 tool#

show_hooks

Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Read configured hooks, optionally for one session.

Options and environment4 tools#

set_history_limit

Change tmux state; no client-supplied executable input. Set the default retained scrollback line limit.

set_mouse_enabled

Change tmux state; no client-supplied executable input. Set the global tmux mouse option through a boolean.

show_environment

Read the tmux environment; accepts no client-supplied executable input. Returned values may contain secrets. Read global or session tmux environment values.

show_option

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

Coordination2 tools#

signal_channel

Change tmux state; no client-supplied executable input. Signal one tmux wait-for channel.

wait_for_channel

Change tmux state; no client-supplied executable input. Wait within one deadline for a tmux channel signal.

Other tools3 tools#

call_read_tools_batch

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Invoke a serial batch of at most 16 inspect tools. One client approval covers every nested name; inner tools receive no separate approval. Retained rows contain full nested envelopes; oversized results are marked resultTruncated, and the response stays below the 1,000,000-byte wire cap.

get_tmux_variables

Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration. Resolve validated variable names without accepting raw format syntax.

wait_for_text

Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Wait within one deadline for pane text.

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-swift@6b51d1408b55.

The language API reference documents embedding and implementation types.

Esc

Type to search.

Reference preview Open reference