io.github.k8ika0s/mcp-tmux
NPM · @K8IKA0S/MCP-TMUX · SCANNED AUG 4
Model Context Protocol server that lets LLMs collaboratively drive tmux
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security83
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects hono 4.12.33, reached via @modelcontextprotocol/sdk > hono. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (111 of 115), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (AGPL-3.0-only).Pass
- Actively maintained (last published 232 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability85
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 3436 tokens (~85/item across 40 items; 39 tools + 1 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @k8ika0s/mcp-tmux
claude mcp add k8ika0s-mcp-tmux -- npx -y @k8ika0s/mcp-tmux
codex mcp add k8ika0s-mcp-tmux -- npx -y @k8ika0s/mcp-tmux
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"k8ika0s-mcp-tmux": {
"type": "local",
"command": [
"npx",
"-y",
"@k8ika0s/mcp-tmux"
],
"enabled": true
}
}
} openclaw mcp add k8ika0s-mcp-tmux --command npx --arg -y --arg @k8ika0s/mcp-tmux
mcp_servers:
k8ika0s-mcp-tmux:
command: "npx"
args: ["-y", "@k8ika0s/mcp-tmux"] {
"mcpServers": {
"k8ika0s-mcp-tmux": {
"command": "npx",
"args": [
"-y",
"@k8ika0s/mcp-tmux"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 −1
- CVE-2026-69207 affects this package: medium ▼ security
- Known CVEs: partial → fail ▼ security
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +65
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Licence: AGPL-3.0-only functional
- 1 Aug 26 −21
- Schema quality: 100 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 31 Jul 26 −27
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 53
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Analysed npm/@k8ika0s/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-8j4g-w8fx-2239 | CVE-2026-69207 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | yes |
Dependencies 111 packages
111 packages in the resolved dependency tree · 111 deprecated · 38 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
tmux_apply_layout_profile Apply a saved layout profile ~83
Apply a previously saved layout profile to a session. Windows are matched by index; pane counts must be compatible.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| name | string | yes | Profile name to load. |
| session | string | — | Session to apply to (optional; uses saved session from profile if omitted). |
No output schema declared.
No examples provided.
tmux_batch_capture Capture multiple panes (batch) ~44
Capture scrollback from multiple panes in parallel (readonly).
| Name | Type | Req | Description |
|---|---|---|---|
| defaultLines | number | — | Default lines to capture for targets without lines. |
| targets | array | yes | — |
No output schema declared.
No examples provided.
tmux_capture_layout Capture window layouts ~57
Return window layouts for a session so they can be restored later.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| session | string | — | Session name (optional, defaults to stored session). |
No output schema declared.
No examples provided.
tmux_capture_pane Capture pane output ~106
Read the scrollback of a pane to observe command results.
| Name | Type | Req | Description |
|---|---|---|---|
| end | number | — | Optional end line offset. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| start | number | — | Optional start line offset (e.g. -200 for last 200 lines). Defaults to -200. |
| target | string | — | Pane target (pane id or session:window.pane). If omitted, uses default pane if set. |
No output schema declared.
No examples provided.
tmux_command Run arbitrary tmux command ~103
Execute any tmux subcommand with raw args. Use this when helpers do not cover your use case. You are responsible for correctness and safety.
| Name | Type | Req | Description |
|---|---|---|---|
| args | array | yes | Arguments to pass to tmux (do not include the tmux binary itself). |
| confirm | boolean | — | Set true if the command is destructive (kill*, attach -k, unlink-window, etc). |
| host | string | — | SSH host alias (optional). Uses default host if set. |
No output schema declared.
No examples provided.
tmux_context_history Capture recent tmux history ~120
Capture recent scrollback from a pane or session to infer context; also extracts recent commands heuristically.
| Name | Type | Req | Description |
|---|---|---|---|
| allPanes | boolean | — | If true, capture all panes in the session. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| lines | number | — | How many lines to capture per pane. |
| session | string | — | Session (optional; uses default). |
| target | string | — | Pane target (pane id or session:window.pane). If omitted, uses active panes in session. |
No output schema declared.
No examples provided.
tmux_default_context Show default tmux target context ~24
Returns the default session (if any) and a quick layout snapshot.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tmux_get_default Show default host/session/window/pane ~16
Display the current remembered defaults.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tmux_health Health check ~43
Check tmux availability, PATH/bin resolution, and session listing for a host.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
No output schema declared.
No examples provided.
tmux_kill_pane Kill a pane ~73
Close a tmux pane. Use with care.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | — | Must be true to proceed. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| target | string | yes | Pane target, e.g. session:window.pane or pane id. |
No output schema declared.
No examples provided.
tmux_kill_session Kill a session ~65
Terminate a tmux session. Use with care.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | — | Must be true to proceed. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| target | string | yes | Session name or id to kill. |
No output schema declared.
No examples provided.
tmux_kill_window Kill a window ~70
Close a tmux window. Use with care.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | — | Must be true to proceed. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| target | string | yes | Window target, e.g. session:window or window id. |
No output schema declared.
No examples provided.
tmux_list_panes List panes ~61
List panes across windows or inside a specific target.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| target | string | — | Target (session, window, or pane) to narrow the list. Optional. |
No output schema declared.
No examples provided.
tmux_list_sessions List tmux sessions ~41
Enumerate sessions with attachment counts and window totals.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). If omitted, uses default host or local. |
No output schema declared.
No examples provided.
tmux_list_windows List windows ~63
List windows within a session (or all sessions if no target provided).
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| target | string | — | Session name or id to list (optional). If omitted, lists all. |
No output schema declared.
No examples provided.
tmux_multi_run Fan-out send and capture ~188
Send the same keys to multiple targets (across hosts) and optionally capture results.
| Name | Type | Req | Description |
|---|---|---|---|
| capture | boolean | — | Capture after sending. |
| captureLines | number | — | Default lines to capture (per-target override available). |
| delayMs | number | — | Default delay before capture in ms (per-target override available). |
| enter | boolean | — | Append Enter. |
| keys | string | yes | Keys/command to send. |
| mode | string | — | send_capture (default) captures once, tail polls, pattern checks for regex. |
| pattern | string | — | Regex pattern when mode=pattern. |
| patternFlags | string | — | Regex flags (e.g., i) |
| tailIntervalMs | number | — | Tail interval ms (mode=tail). |
| tailIterations | number | — | Tail iterations (mode=tail). |
| targets | array | yes | List of targets to fan-out to. |
No output schema declared.
No examples provided.
tmux_new_session Create a new session ~64
Create a detached tmux session to collaborate in.
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | — | Optional command to start in the first window. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| name | string | yes | Session name to create. |
No output schema declared.
No examples provided.
tmux_new_window Create a new window ~92
Create a window in a target session, useful for side-by-side collaboration.
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | — | Optional command to run when the window starts. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| name | string | — | Optional window name. |
| target | string | yes | Target session (or window) to create the window in, e.g. mysession. |
No output schema declared.
No examples provided.
tmux_open_session Ensure/attach remote tmux session ~89
Given an ssh host alias and session name, ensure the remote tmux session exists (create if missing) and set it as default for subsequent commands.
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | — | Optional command to start the session with if it needs to be created. |
| host | string | yes | SSH config host alias to connect to. |
| session | string | yes | tmux session name on the remote host. |
No output schema declared.
No examples provided.
tmux_quickstart Quickstart instructions ~25
Returns a concise how-to for using the tmux MCP tools safely.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tmux_readonly_state Snapshot tmux state (readonly) ~97
Readonly variant of tmux_state to retrieve sessions, windows, panes, and recent capture without modifying defaults.
| Name | Type | Req | Description |
|---|---|---|---|
| captureLines | number | — | How many lines of scrollback to include from the capture target (default 200). |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| session | string | — | Session name (optional). Uses default session if set; required if none set. |
No output schema declared.
No examples provided.
tmux_rename_session Rename a session ~57
Rename a tmux session.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| name | string | yes | New session name. |
| target | string | yes | Existing session name or id. |
No output schema declared.
No examples provided.
tmux_rename_window Rename a window ~64
Rename a tmux window.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| name | string | yes | New window name. |
| target | string | yes | Window target, e.g. session:window or window id. |
No output schema declared.
No examples provided.
tmux_restore_layout Restore a window layout ~72
Apply a saved layout string to a target window.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| layout | string | yes | Layout string obtained from tmux_capture_layout. |
| target | string | yes | Window target (e.g., session:window or window id). |
No output schema declared.
No examples provided.
tmux_run_batch Run a batch of commands in one call ~203
Execute multiple shell commands sequentially in one tmux pane and capture the output. Uses "&&" by default (fail fast) or ";" when failFast=false. Automatically captures output (paged) and can clean the prompt before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| captureLines | number | — | Lines to capture after execution (default 200). |
| cleanPrompt | boolean | — | Send Ctrl+C then Ctrl+U before first write to clear any stray input (bash/zsh friendly). Default true. |
| failFast | boolean | — | Use && between commands (default true). Set false to use ";" so later commands run even if earlier fail. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| steps | array | yes | List of commands to run sequentially in the same pane, with optional per-step Enter. |
| target | string | — | Pane target (pane id or session:window.pane). If omitted, uses default pane if set. |
No output schema declared.
No examples provided.
tmux_save_layout_profile Save a layout profile ~72
Capture layouts for all windows in a session and store them under a profile name.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| name | string | yes | Profile name to store. |
| session | string | — | Session to capture (optional, uses default session). |
No output schema declared.
No examples provided.
tmux_select_pane Focus a pane ~56
Select a pane so subsequent commands target it.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| target | string | yes | Pane target (pane id or session:window.pane). |
No output schema declared.
No examples provided.
tmux_select_window Focus a window ~53
Select a window so subsequent commands target it.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| target | string | yes | Window target (session:window or window id). |
No output schema declared.
No examples provided.
tmux_send_keys Send keys to pane ~112
Send keystrokes to a tmux target, optionally appending Enter.
| Name | Type | Req | Description |
|---|---|---|---|
| enter | boolean | — | Append Enter after the keys. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| keys | string | yes | The text/keys to send. Supports <SPACE>/<ENTER>/<TAB>/<ESC>. Empty + enter=true sends Enter. |
| target | string | — | Pane target (pane id or session:window.pane). If omitted, uses default pane if set. |
No output schema declared.
No examples provided.
tmux_server_info Server info and version ~21
Return the running server version and package identifier for verification.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tmux_set_audit_logging Set audit logging ~80
Enable or disable verbose audit logging for a host/session (logs commands and outputs).
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | Set to true to enable audit logging, false to disable. |
| host | string | — | Host alias (optional). Uses default host if set. |
| session | string | — | Session name (optional). Uses default session if set. |
No output schema declared.
No examples provided.
tmux_set_default Set default host/session/window/pane ~72
Persist defaults for later tool calls. Omit fields you do not want to change.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias to remember. |
| pane | string | — | Pane target to remember. |
| session | string | — | Session name to remember. |
| window | string | — | Window target to remember. |
No output schema declared.
No examples provided.
tmux_set_sync_panes Toggle synchronize-panes ~69
Enable or disable synchronize-panes for a window.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| on | boolean | yes | Whether to enable synchronize-panes. |
| target | string | yes | Window target (session:window or window id). |
No output schema declared.
No examples provided.
tmux_split_pane Split a pane ~94
Split a pane horizontally or vertically, optionally running a command.
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | — | Optional command to run in the new pane. |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| orientation | string | — | horizontal = side-by-side (-h), vertical = stacked (-v). |
| target | string | yes | Pane target (pane id or session:window.pane). |
No output schema declared.
No examples provided.
tmux_state Snapshot tmux state ~90
Return sessions, windows, panes, and the last lines of the active/default pane.
| Name | Type | Req | Description |
|---|---|---|---|
| captureLines | number | — | How many lines of scrollback to include from the capture target (default 200). |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| session | string | — | Session name (optional). Uses default session if set; required if none set. |
No output schema declared.
No examples provided.
tmux_tail_pane Tail a pane buffer ~108
Poll a pane multiple times to watch output without reissuing commands.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| intervalMs | number | — | Delay between polls in milliseconds. |
| iterations | number | — | How many polling iterations. |
| lines | number | — | How many lines per fetch. |
| target | string | — | Pane target to tail (pane id or session:window.pane). If omitted, uses default pane if set. |
No output schema declared.
No examples provided.
tmux_tail_task Tail a pane (task) ~114
Create a task to poll pane output over time. Client can poll for incremental results.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). Uses default host if set. |
| intervalMs | number | — | Delay between polls in milliseconds. |
| iterations | number | — | How many polling iterations before auto-complete. |
| lines | number | — | How many lines per fetch. |
| target | string | — | Pane target to tail (pane id or session:window.pane). If omitted, uses default pane if set. |
No output schema declared.
No examples provided.
tmux_wait_for_pattern_task Wait for output pattern ~133
Poll a pane for a regex pattern and complete when matched or after iterations.
| Name | Type | Req | Description |
|---|---|---|---|
| flags | string | — | Regex flags (e.g., i) |
| host | string | — | SSH host alias (optional). Uses default host if set. |
| intervalMs | number | — | Delay between polls in milliseconds. |
| iterations | number | — | Max polling iterations. |
| lines | number | — | Lines per fetch. |
| pattern | string | yes | Regex pattern to search for. |
| target | string | — | Pane target to watch (pane id or session:window.pane). If omitted, uses default pane if set. |
No output schema declared.
No examples provided.
tmux_watch_dir_task Watch a directory for new files ~75
Poll a directory (local or via SSH) and complete when new files appear or after max iterations.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | — | SSH host alias (optional). |
| intervalMs | number | — | Polling interval ms. |
| iterations | number | — | Max polling iterations. |
| path | string | — | Directory to watch. |
No output schema declared.
No examples provided.