libtmux
English
Reference MCP Search

MCP server

The libtmux MCP server exposes tmux to any client that speaks the Model Context Protocol, so an agent can create sessions, send keys and read pane output without shelling out.

Install

Pick your client, install method and scope. Every combination below is rendered server-side, so the command you see is the command you get — nothing is assembled in the browser.

With uvx installed:

$ claude mcp add tmux -- uvx libtmux-mcp

Config file: ~/.claude.json (this project)

With uvx installed:

$ claude mcp add tmux -- uvx --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: ~/.claude.json (this project)

With uvx installed:

$ claude mcp add tmux -- uvx --no-config libtmux-mcp

Config file: ~/.claude.json (this project)

With uvx installed:

$ claude mcp add tmux --scope user -- uvx libtmux-mcp

Config file: ~/.claude.json (all projects)

With uvx installed:

$ claude mcp add tmux --scope user -- uvx --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: ~/.claude.json (all projects)

With uvx installed:

$ claude mcp add tmux --scope user -- uvx --no-config libtmux-mcp

Config file: ~/.claude.json (all projects)

With uvx installed:

$ claude mcp add tmux --scope project -- uvx libtmux-mcp

Config file: .mcp.json (in repo, version-controlled)

With uvx installed:

$ claude mcp add tmux --scope project -- uvx --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: .mcp.json (in repo, version-controlled)

With uvx installed:

$ claude mcp add tmux --scope project -- uvx --no-config libtmux-mcp

Config file: .mcp.json (in repo, version-controlled)

With pipx installed:

$ claude mcp add tmux -- pipx run libtmux-mcp

Config file: ~/.claude.json (this project)

With pipx installed:

$ claude mcp add tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.claude.json (this project)

With pipx installed:

$ claude mcp add tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.claude.json (this project)

With pipx installed:

$ claude mcp add tmux --scope user -- pipx run libtmux-mcp

Config file: ~/.claude.json (all projects)

With pipx installed:

$ claude mcp add tmux --scope user -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.claude.json (all projects)

With pipx installed:

$ claude mcp add tmux --scope user -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.claude.json (all projects)

With pipx installed:

$ claude mcp add tmux --scope project -- pipx run libtmux-mcp

Config file: .mcp.json (in repo, version-controlled)

With pipx installed:

$ claude mcp add tmux --scope project -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .mcp.json (in repo, version-controlled)

With pipx installed:

$ claude mcp add tmux --scope project -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .mcp.json (in repo, version-controlled)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux -- libtmux-mcp

Config file: ~/.claude.json (this project)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.claude.json (this project)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.claude.json (this project)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux --scope user -- libtmux-mcp

Config file: ~/.claude.json (all projects)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux --scope user -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.claude.json (all projects)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux --scope user -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.claude.json (all projects)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux --scope project -- libtmux-mcp

Config file: .mcp.json (in repo, version-controlled)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux --scope project -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .mcp.json (in repo, version-controlled)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ claude mcp add tmux --scope project -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .mcp.json (in repo, version-controlled)

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["libtmux-mcp"]
        }
    }
}

Config file: claude_desktop_config.json

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["--exclude-newer", "P7D", "--exclude-newer-package", "libtmux-mcp=2099-01-01", "libtmux-mcp"]
        }
    }
}

Config file: claude_desktop_config.json

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["libtmux-mcp"],
            "env": { "UV_NO_CONFIG": "1" }
        }
    }
}

Config file: claude_desktop_config.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

Config file: claude_desktop_config.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: claude_desktop_config.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: claude_desktop_config.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

Config file: claude_desktop_config.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: claude_desktop_config.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: claude_desktop_config.json

With uvx installed:

$ codex mcp add tmux -- uvx libtmux-mcp

Config file: ~/.codex/config.toml

With uvx installed:

$ codex mcp add tmux -- uvx --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: ~/.codex/config.toml

With uvx installed:

$ codex mcp add tmux -- uvx --no-config libtmux-mcp

Config file: ~/.codex/config.toml

With uvx installed:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "uvx"
args = ["libtmux-mcp"]

Config file: .codex/config.toml (in repo)

With uvx installed:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "uvx"
args = ["--exclude-newer", "P7D", "--exclude-newer-package", "libtmux-mcp=2099-01-01", "libtmux-mcp"]

Config file: .codex/config.toml (in repo)

With uvx installed:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "uvx"
args = ["libtmux-mcp"]
env = { UV_NO_CONFIG = "1" }

Config file: .codex/config.toml (in repo)

With pipx installed:

$ codex mcp add tmux -- pipx run libtmux-mcp

Config file: ~/.codex/config.toml

With pipx installed:

$ codex mcp add tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.codex/config.toml

With pipx installed:

$ codex mcp add tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.codex/config.toml

With pipx installed:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "pipx"
args = ["run", "libtmux-mcp"]

Config file: .codex/config.toml (in repo)

With pipx installed:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "pipx"
args = ["run", "libtmux-mcp"]

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .codex/config.toml (in repo)

With pipx installed:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "pipx"
args = ["run", "libtmux-mcp"]

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .codex/config.toml (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ codex mcp add tmux -- libtmux-mcp

Config file: ~/.codex/config.toml

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ codex mcp add tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.codex/config.toml

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ codex mcp add tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.codex/config.toml

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "libtmux-mcp"

Config file: .codex/config.toml (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "libtmux-mcp"

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .codex/config.toml (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

Codex's CLI doesn't support project scope yet — paste this into .codex/config.toml at the repo root.

[mcp_servers.tmux]
command = "libtmux-mcp"

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .codex/config.toml (in repo)

With uvx installed:

$ gemini mcp add --scope user tmux uvx -- libtmux-mcp

Config file: ~/.gemini/settings.json

With uvx installed:

$ gemini mcp add --scope user tmux uvx -- --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: ~/.gemini/settings.json

With uvx installed:

$ gemini mcp add --scope user tmux uvx -- --no-config libtmux-mcp

Config file: ~/.gemini/settings.json

With uvx installed:

$ gemini mcp add --scope project tmux uvx -- libtmux-mcp

Config file: .gemini/settings.json (in repo)

With uvx installed:

$ gemini mcp add --scope project tmux uvx -- --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: .gemini/settings.json (in repo)

With uvx installed:

$ gemini mcp add --scope project tmux uvx -- --no-config libtmux-mcp

Config file: .gemini/settings.json (in repo)

With pipx installed:

$ gemini mcp add --scope user tmux pipx -- run libtmux-mcp

Config file: ~/.gemini/settings.json

With pipx installed:

$ gemini mcp add --scope user tmux pipx -- run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.gemini/settings.json

With pipx installed:

$ gemini mcp add --scope user tmux pipx -- run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.gemini/settings.json

With pipx installed:

$ gemini mcp add --scope project tmux pipx -- run libtmux-mcp

Config file: .gemini/settings.json (in repo)

With pipx installed:

$ gemini mcp add --scope project tmux pipx -- run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .gemini/settings.json (in repo)

With pipx installed:

$ gemini mcp add --scope project tmux pipx -- run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .gemini/settings.json (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ gemini mcp add --scope user tmux libtmux-mcp

Config file: ~/.gemini/settings.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ gemini mcp add --scope user tmux libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.gemini/settings.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ gemini mcp add --scope user tmux libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.gemini/settings.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ gemini mcp add --scope project tmux libtmux-mcp

Config file: .gemini/settings.json (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ gemini mcp add --scope project tmux libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .gemini/settings.json (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ gemini mcp add --scope project tmux libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .gemini/settings.json (in repo)

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["libtmux-mcp"]
        }
    }
}

Config file: .cursor/mcp.json (in repo)

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["--exclude-newer", "P7D", "--exclude-newer-package", "libtmux-mcp=2099-01-01", "libtmux-mcp"]
        }
    }
}

Config file: .cursor/mcp.json (in repo)

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["libtmux-mcp"],
            "env": { "UV_NO_CONFIG": "1" }
        }
    }
}

Config file: .cursor/mcp.json (in repo)

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["libtmux-mcp"]
        }
    }
}

Config file: ~/.cursor/mcp.json

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["--exclude-newer", "P7D", "--exclude-newer-package", "libtmux-mcp=2099-01-01", "libtmux-mcp"]
        }
    }
}

Config file: ~/.cursor/mcp.json

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["libtmux-mcp"],
            "env": { "UV_NO_CONFIG": "1" }
        }
    }
}

Config file: ~/.cursor/mcp.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

Config file: .cursor/mcp.json (in repo)

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .cursor/mcp.json (in repo)

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .cursor/mcp.json (in repo)

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

Config file: ~/.cursor/mcp.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.cursor/mcp.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.cursor/mcp.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

Config file: .cursor/mcp.json (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .cursor/mcp.json (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: .cursor/mcp.json (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

Config file: ~/.cursor/mcp.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.cursor/mcp.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.cursor/mcp.json

With uvx installed:

$ grok mcp add --scope user tmux -- uvx libtmux-mcp

Config file: ~/.grok/config.toml

With uvx installed:

$ grok mcp add --scope user tmux -- uvx --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: ~/.grok/config.toml

With uvx installed:

$ grok mcp add --scope user tmux -- uvx --no-config libtmux-mcp

Config file: ~/.grok/config.toml

With uvx installed:

$ grok mcp add --scope project tmux -- uvx libtmux-mcp

Config file: ./.grok/config.toml (in repo)

With uvx installed:

$ grok mcp add --scope project tmux -- uvx --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: ./.grok/config.toml (in repo)

With uvx installed:

$ grok mcp add --scope project tmux -- uvx --no-config libtmux-mcp

Config file: ./.grok/config.toml (in repo)

With pipx installed:

$ grok mcp add --scope user tmux -- pipx run libtmux-mcp

Config file: ~/.grok/config.toml

With pipx installed:

$ grok mcp add --scope user tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.grok/config.toml

With pipx installed:

$ grok mcp add --scope user tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.grok/config.toml

With pipx installed:

$ grok mcp add --scope project tmux -- pipx run libtmux-mcp

Config file: ./.grok/config.toml (in repo)

With pipx installed:

$ grok mcp add --scope project tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ./.grok/config.toml (in repo)

With pipx installed:

$ grok mcp add --scope project tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ./.grok/config.toml (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ grok mcp add --scope user tmux -- libtmux-mcp

Config file: ~/.grok/config.toml

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ grok mcp add --scope user tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.grok/config.toml

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ grok mcp add --scope user tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.grok/config.toml

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ grok mcp add --scope project tmux -- libtmux-mcp

Config file: ./.grok/config.toml (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ grok mcp add --scope project tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ./.grok/config.toml (in repo)

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ grok mcp add --scope project tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ./.grok/config.toml (in repo)

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["libtmux-mcp"]
        }
    }
}

Config file: ~/.gemini/config/mcp_config.json

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["--exclude-newer", "P7D", "--exclude-newer-package", "libtmux-mcp=2099-01-01", "libtmux-mcp"]
        }
    }
}

Config file: ~/.gemini/config/mcp_config.json

With uvx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "uvx",
            "args": ["libtmux-mcp"],
            "env": { "UV_NO_CONFIG": "1" }
        }
    }
}

Config file: ~/.gemini/config/mcp_config.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

Config file: ~/.gemini/config/mcp_config.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.gemini/config/mcp_config.json

With pipx installed:

{
    "mcpServers": {
        "tmux": {
            "command": "pipx",
            "args": ["run", "libtmux-mcp"]
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.gemini/config/mcp_config.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

Config file: ~/.gemini/config/mcp_config.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.gemini/config/mcp_config.json

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then use this config:

{
    "mcpServers": {
        "tmux": {
            "command": "libtmux-mcp"
        }
    }
}

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.gemini/config/mcp_config.json

With uvx installed:

$ opencode mcp add tmux -- uvx libtmux-mcp

Config file: ~/.config/opencode/opencode.jsonc

With uvx installed:

$ opencode mcp add tmux -- uvx --exclude-newer P7D --exclude-newer-package libtmux-mcp=2099-01-01 libtmux-mcp

Config file: ~/.config/opencode/opencode.jsonc

With uvx installed:

$ opencode mcp add tmux -- uvx --no-config libtmux-mcp

Config file: ~/.config/opencode/opencode.jsonc

With pipx installed:

$ opencode mcp add tmux -- pipx run libtmux-mcp

Config file: ~/.config/opencode/opencode.jsonc

With pipx installed:

$ opencode mcp add tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.config/opencode/opencode.jsonc

With pipx installed:

$ opencode mcp add tmux -- pipx run libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.config/opencode/opencode.jsonc

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ opencode mcp add tmux -- libtmux-mcp

Config file: ~/.config/opencode/opencode.jsonc

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ opencode mcp add tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.config/opencode/opencode.jsonc

Install the packages first:

$ pip install --user --upgrade libtmux libtmux-mcp

Then register:

$ opencode mcp add tmux -- libtmux-mcp

pip has no per-package cooldown override, so this snippet runs without cooldown enforcement. Switch to the uvx tab — it applies the cooldown to transitive deps via `--exclude-newer` while exempting libtmux-mcp itself via `--exclude-newer-package`.

Config file: ~/.config/opencode/opencode.jsonc

Scope, and why it matters

Most clients distinguish a user scope, which follows you across every project, from a project scope committed alongside the repository so collaborators get the same server. A tmux server is machine-local state, so user scope is usually right; choose project scope when the workspace definition itself is part of the repo.

Ports with an MCP server

All eight ports ship one. The reference implementation is Python, whose 54 tools are the set the others are measured against:

They do not agree on tool names. Across the eight servers, 110 distinct names are registered and 6 exist in all of them; Java and .NET prefix every tool with tmux_ on the wire. What each port actually registers is on the tool surface page, extracted from each port's own source. Symbol-level library parity is a separate axis — see parity.

Esc

Type to search.