Cmux MCP Server

A Model Context Protocol server that provides access to the currently active tab of cmux

Local serverstdioPython

What is the Cmux MCP Server?

A Model Context Protocol server that provides access to the currently active tab of cmux

What you get

Let Claude run commands, read output, manage tabs/panes/workspaces/windows, and send control characters in your cmux terminal -- all through the Model Context Protocol. Works in the background. No focus stealing.

Configuration and credentials

  • macOS - cmux.app installed and running - Node.js 18+ - cmux socket control mode set to Automation or Open Access (Settings > Automation > Socket Control Mode)

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
write_to_terminalSend commands to the terminal. Enter is appended automatically. Returns new output line count.
read_terminal_outputRead the last N lines from the terminal buffer.
send_control_characterSend Ctrl+C, Ctrl+Z, Escape, or any control character.
list_surfacesList all tabs in a workspace with IDs and titles.
new_surfaceCreate a new terminal tab.
close_surfaceClose a specific tab.
focus_surfaceFocus (activate) a specific tab.
move_surfaceMove a tab to a different pane, window, or position.
reorder_surfaceReorder a tab within its pane.
rename_tabRename a tab.
new_splitSplit the current surface into a new pane.
drag_surface_to_splitDrag a surface to create a split.
refresh_surfacesRefresh all surfaces.
surface_healthCheck health of surfaces.
list_panesList all panes in a workspace.
new_paneCreate a new pane (split) with direction.
focus_paneFocus a specific pane.
resize_paneResize a pane in a given direction.
swap_paneSwap two panes.
break_paneBreak a pane out into a new workspace.
join_paneJoin a pane into another pane.
last_paneSwitch to the last active pane.
list_panelsList all panels in a workspace.
focus_panelFocus a specific panel.
list_windowsList all windows.
new_windowCreate a new window.
close_windowClose a specific window.
focus_windowFocus a specific window.
current_windowShow current window info.
rename_windowRename the current window.
move_workspace_to_windowMove a workspace to a different window.
list_workspacesList all workspaces.
new_workspaceCreate a new workspace with optional cwd/command.
close_workspaceClose a specific workspace.
select_workspaceSwitch to a specific workspace.
rename_workspaceRename a workspace.
current_workspaceShow current workspace info.
reorder_workspaceReorder a workspace in the sidebar.
find_windowSearch for a window by content or title.
treeShow the full tree structure (windows/workspaces/panes/surfaces).
identifyShow identity info for the current surface/workspace.
notifySend a notification with title, subtitle, and body.
list_notificationsList all notifications.
clear_notificationsClear all notifications.
sidebar_stateShow the current sidebar state.
logWrite a log entry to the workspace sidebar.
clear_logClear log entries.
list_logList log entries.
set_bufferSet a named buffer with text content.
list_buffersList all buffers.
paste_bufferPaste a buffer into the terminal.
clear_historyClear terminal scrollback history.
capture_paneCapture pane content (tmux-compatible).
respawn_paneRespawn a pane (restart the shell).
pipe_panePipe pane output to a shell command.
display_messageDisplay a message overlay.
trigger_flashTrigger a visual flash on the terminal.
set_hookSet, list, or unset event hooks.
wait_forWait for or send a named signal.
set_app_focusSet the app focus state.
markdown_openOpen a markdown file in a formatted viewer with live reload.
versionShow cmux version.
pingPing the cmux socket.
browserControl the cmux built-in browser with subcommands: open, navigate, snapshot, click, type, eval, screenshot, and many more.

How to install the Cmux MCP Server

{
  "mcpServers": {
    "cmux-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "cmux-mcp"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

  • macOS - cmux.app installed and running - Node.js 18+ - cmux socket control mode set to Automation or Open Access (Settings > Automation > Socket Control Mode)

Example prompts to try

  • “Use Cmux MCP to Requirements.”
  • “Use Cmux MCP to Notifications.”
  • “Use Cmux MCP to Buffer.”

Frequently asked questions

A Model Context Protocol server that provides access to the currently active tab of cmux Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.