Manage tmux panes and execute commands within tmux sessions.
An MCP (Model Context Protocol) server that enables Claude to execute commands in tmux panes, providing a shared terminal experience between Claude and users.
.t-pane/logs/
in the current directorycd /Users/rumen.d/github/mcp-servers/t-pane
npm install
npm run build
Add to your Claude configuration file (~/Library/Application Support/Claude/config.json
):
{
"mcpServers": {
"t-pane": {
"command": "node",
"args": ["/Users/rumen.d/github/mcp-servers/t-pane/dist/index.js"]
}
}
}
Once configured, Claude can use the following tools:
Executes a command in a tmux pane and captures the output.
execute_command({
command: "ls -la",
pane: "claude-terminal", // optional, defaults to "claude-terminal"
captureOutput: true // optional, defaults to true
})
Creates a new tmux pane with a specific name.
create_pane({
name: "my-pane", // optional, defaults to "claude-terminal"
split: "horizontal" // optional: "horizontal" or "vertical"
})
Captures recent output from a tmux pane.
capture_output({
pane: "claude-terminal", // optional
lines: 100 // optional, number of lines to capture
})
Lists all available tmux panes.
list_panes()
Send text to a tmux pane without executing it (useful for pre-filling commands).
send_keys({
text: "git push origin main",
pane: "claude-terminal", // optional, defaults to directory-specific pane
enter: false // optional, set to true to also send Enter
})
Create a background pane for running Claude with a specific research/analysis task.
launch_background_task({
task: "Research TypeScript 5.x features and create a summary",
outputFile: "typescript-features.md", // saved to .t-pane/tasks/
timeout: 300000 // optional, default 5 minutes
})
Check the status of all background tasks.
check_background_tasks()
Command Execution: When Claude executes a command, it's wrapped with unique markers:
echo '===CMD_${commandId}_START==='; <your-command>; echo '===CMD_${commandId}_END==='
Output Capture: The server:
Interactive Prompt Detection: When a command requires user input:
Command Logging: All commands and outputs are logged to:
.t-pane/logs/
in the current working directory~/.t-pane/logs/{directory-hash}/
if local directory is not writableexport T_PANE_DISABLE_LOGGING=true
Efficiency: This approach handles commands with any output size (even 100k+ lines) efficiently by:
When Claude uses this server, you'll see:
claude-t-pane
for the t-pane directory)# Watch mode for development
npm run watch
# Build for production
npm run build
tmux new-session
The t-pane server creates separate tmux panes for each directory:
claude-mcp-servers-t-pane
)When a command requires user input (like git push
asking for credentials), the server will:
By default, all commands are logged to .t-pane/logs/
in the current directory:
{"timestamp":"2024-06-27T10:30:00Z","command":"git status","output":"...","exitCode":0,"duration":150,"directory":"/path/to/project"}
To disable logging:
export T_PANE_DISABLE_LOGGING=true
The t-pane server can launch Claude instances in background panes for research or analysis:
claude
to start the task.t-pane/tasks/
check_background_tasks()
to monitor progressThis feature is experimental and requires manual Claude invocation in the created pane.
/resume
for session continuityRead file contents using cat/head commands in the tmux pane.
Edit files using sed in the tmux pane (visible to user).
Interact with Outline, the open-source knowledge base and wiki, directly through your AI assistant.
Reads EndNote .enl libraries and exposes their contents through the MCP interface.
Parses invoice data, uploads it to Google Sheets, and answers queries by fetching information from the sheet.
MCP server for managing accounting and taxes with Norman Finance.
Provides current date and time with configurable formats and timezones.
Interact with the Umbraco CMS Management API for administrative tasks.
Manages configurations for MCP clients, automatically detecting file paths based on OS and client.
Dynamically search and call tools using UnifAI Network
A server for interacting with the Hyperweb platform and its tools using AI agents.
Access personal and team knowledge repositories, including documents and Slack discussions.