Tmux

by nickgnd

294 stars
602 downloads
Not rated
GitHub

About

Interact with your Tmux sessions, windows and pane, execute commands in tmux panes and retrieve result.

Details

Author
nickgnd
GitHub stars
294
Downloads
602
Categories
Productivity, Community, Other, Developer Tools

- List and search tmux sessions
- View and navigate tmux windows and panes
- Capture and expose terminal content from any pane
- Execute commands in tmux panes and retrieve results (use at own risk)
- Create new tmux sessions, windows, and split panes
- Kill tmux sessions, windows, and panes

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Tmux
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Add this MCP server to your Claude Desktop configuration by specifying the command and arguments. Optionally set the shell type with --shell-type (defaults to bash). The server provides resources (tmux://...) and tools to list, capture, create, and kill tmux sessions, windows, and panes.

list-sessions

List all active tmux sessions

find-session

Find a tmux session by name

list-windows

List windows in a tmux session

list-panes

List panes in a tmux window

capture-pane

Capture content from a tmux pane with configurable lines count and optional color preservation

create-session

Create a new tmux session

create-window

Create a new window in a tmux session

kill-session

Kill a tmux session by ID

kill-window

Kill a tmux window by ID

kill-pane

Kill a tmux pane by ID

split-pane

Split a tmux pane horizontally or vertically

execute-command

Execute a command in a tmux pane and get results. For interactive applications (REPLs, editors), use `rawMode=true`. IMPORTANT: When `rawMode=false` (default), avoid heredoc syntax (cat << EOF) and other multi-line constructs as they conflict with command wrapping. For file writing, prefer: printf 'content\n' > file, echo statements, or write to temp files instead

get-command-result

Get the result of an executed command

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

Tmux MCP Server

Model Context Protocol server that enables Claude Desktop to interact with and view tmux session content. This integration allows AI assistants to read from, control, and observe your terminal sessions.

Features

- List and search tmux sessions
- View and navigate tmux windows and panes
- Capture and expose terminal content from any pane
- Execute commands in tmux panes and retrieve results (use it at your own risk ⚠️)
- Create new tmux sessions and windows
- Split panes horizontally or vertically with customizable sizes
- Kill tmux sessions, windows, and panes

Check out this short video to get excited!

</br>

youtube video

Prerequisites

- Node.js
- tmux installed and running

Usage

Configure Claude Desktop

Add this MCP server to your Claude Desktop configuration:

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

MCP server options

You can optionally specify the command line shell you are using, if unspecified it defaults to bash

"mcpServers": {
  "tmux": {
    "command": "npx",
    "args": ["-y", "tmux-mcp", "--shell-type=fish"]
  }
}

The MCP server needs to know the shell only when executing commands, to properly read its exit status.

Available Resources

- tmux://sessions - List all tmux sessions
- tmux://pane/{paneId} - View content of a specific tmux pane
- tmux://command/{commandId}/result - Results from executed commands

Available Tools

- list-sessions - List all active tmux sessions
- find-session - Find a tmux session by name
- list-windows - List windows in a tmux session
- list-panes - List panes in a tmux window
- capture-pane - Capture content from a tmux pane
- create-session - Create a new tmux session
- create-window - Create a new window in a tmux session
- split-pane - Split a tmux pane horizontally or vertically with optional size
- kill-session - Kill a tmux session by ID
- kill-window - Kill a tmux window by ID
- kill-pane - Kill a tmux pane by ID
- execute-command - Execute a command in a tmux pane
- get-command-result - Get the result of an executed command

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.