tmux-claude MCP Server
Provides MCP tools for git operations including status, branch management, automatic branch creation for shared workspaces, conflict detection, and AI-powered merge conflict resolution.
Provides management of tmux sessions for running Claude instances, including spawning new sessions, sending commands, reading output, and listing active sessions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tmux-claude MCP Serverspawn two specialist instances for code review and testing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tmux-claude MCP Server
A highly efficient Model Context Protocol (MCP) server enabling hierarchical orchestration of Claude instances via tmux. Features a bridge pattern architecture that reduces memory usage by 85% compared to traditional multi-server approaches.
📸 Screenshots
Hierarchical orchestration showing Executive, Manager, and Specialist instances working together
Web-based monitoring dashboard displaying active instances and system metrics
🤖 For Claude Code Instances
New to this repository? If you're a Claude Code instance, start with the Claude Getting Started Guide for a quick orientation and practical examples.
Overview
Architecture Innovation
Due to MCP's documented 1:1 stdio architecture, multiple Claude instances cannot directly access MCP tools. Our bridge pattern solution:
Single shared MCP server process (50-70MB total)
Lightweight bridge for multi-instance access via Bash
85% memory reduction vs spawning separate servers
Zero race conditions with centralized state management
Core MCP Tools
spawn: Create new Claude instances with roles (Executive/Manager/Specialist)
send: Send text/prompts to instances
read: Read output from instances
list: List active instances with filtering
terminate: Stop instances and optionally their children
New Features
VM Integration: Complete cloud VM management for development environments
Scheduled Continue: Schedule "Plz continue" messages to all tmux sessions at specified times
Workspace Modes: Support for isolated (default) and shared workspace modes
Git Integration: Automatic branch management for shared workspaces
Conflict Detection: Proactive identification of merge conflicts
MCP Git Tools: 5 new tools for git operations (git_status, git_branch, etc.)
AI Conflict Resolution: Intelligent merge conflict resolution using Claude
Performance Optimizations: Parallel spawning, message batching, caching
Monitoring Dashboard: Real-time web dashboard for system monitoring
Project Structure
tmux-claude-mcp-server/
├── README.md # Project overview and usage
├── LICENSE # MIT license
├── package.json # Node.js dependencies
├── package-lock.json # Locked dependencies
├── .gitignore # Version control ignore patterns
├── src/ # Core source code
│ ├── simple_mcp_server.js # Main MCP server
│ ├── instance_manager.js # Instance lifecycle management
│ ├── mcp_tools.js # MCP tool implementations
│ ├── tmux_interface.js # tmux integration layer
│ ├── reliable_tmux_sender.js # High-reliability message delivery
│ ├── orchestration/ # Orchestration components
│ ├── dashboard/ # Web monitoring dashboard
│ ├── role_templates/ # Standardized role templates
│ └── workflow/ # Workflow orchestration system
│ ├── actions/ # Modular action implementations
│ ├── workflow_engine.cjs # Main workflow engine
│ └── run_workflow.cjs # Workflow runner CLI
├── scripts/ # Utility scripts
│ ├── mcp_bridge.js # Bridge for multi-instance MCP access
│ ├── scheduled_continue.js # Schedule "Plz continue" messages
│ ├── check/ # Session checking utilities
│ ├── restart/ # Session restart utilities
│ ├── utils/ # Shared utilities
│ │ └── time_parser.js # Time parsing for scheduling
│ └── api/ # API scripts for monitoring
├── docs/ # Documentation
│ ├── CHANGELOG.md # Version history
│ ├── CONTRIBUTING.md # Contribution guidelines
│ ├── WORKFLOW_GUIDE.md # Workflow system guide
│ ├── CLAUDE_GETTING_STARTED.md # Quick start for Claude instances
│ ├── DOCUMENTATION_INDEX.md # Documentation map
│ ├── scheduled_continue/ # Scheduled continue feature docs
│ │ ├── CLI_INTERFACE_DESIGN.md
│ │ ├── TIME_FORMAT_SPECIFICATION.md
│ │ └── SCHEDULING_MECHANISM_ANALYSIS.md
│ ├── analysis/ # Technical analysis & findings
│ ├── archive/ # Historical documentation
│ └── guides/ # User guides and specifications
├── tests/ # Test suites
│ ├── test_workflow_standalone.cjs # Standalone workflow tests
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ ├── e2e/ # End-to-end tests
│ └── performance/ # Performance benchmarks
├── workflows/ # Workflow system
│ ├── README.md # Workflow documentation
│ ├── CURRENT_STATUS.md # Current status and usage
│ ├── library/ # Reusable workflow components
│ ├── examples/ # Example workflows
│ ├── tests/ # Workflow test files
│ ├── scripts/ # Workflow utilities
│ ├── state/ # Workflow state storage
│ └── user/ # User-created workflows
├── state/ # Default state directory
├── config/ # Configuration files
├── logs/ # Log directory
└── vm-integration/ # Cloud VM management
├── README.md # VM integration documentation
├── vm_manager.js # Core VM management class
├── vm_cli.js # Command-line interface
├── vm_mcp_tools.js # MCP tools integration
├── integrate_vm_mcp.js # MCP server integration
├── setup-scripts/ # VM initialization scripts
│ └── claude-dev-setup.sh
└── tests/ # VM integration tests
└── test_vm_integration.jsArchitecture
External State Store: JSON file-based registry for Phase 1, Redis-ready for Phase 2+
Project Isolation: Each Claude instance uses
--projectflag for conversation isolationRole-Based Access: Specialists have NO access to MCP tools, only Executive/Manager can orchestrate
Hierarchical Naming:
exec_1,mgr_1_1,spec_1_1_1for clear parent-child relationshipsNearly-Free Recovery: Restart instances using
--continueflag
Code Harvest
This implementation harvests and adapts ~20-30% of the existing tmux-manager codebase:
Harvested Components
tmux_interface.py →
src/tmux_interface.js- Core tmux operationsinstance.py →
src/instance_manager.js- Instance lifecycle managementmanager.py →
src/instance_manager.js- Registry and coordinationsession_manager.py →
src/instance_manager.js- Session operations
Discarded Components (60-70%)
All CLI interfaces
Pattern matching/monitoring systems
Event bus architecture
Configuration management
Layout systems
Installation
cd tmux-claude-mcp-server
npm installConfiguration (REQUIRED)
CRITICAL: You MUST configure the MCP server globally for all Claude instances:
claude mcp add tmux-claude -s user node /path/to/tmux-claude-mcp-server/src/simple_mcp_server.jsImportant notes:
The
-s userflag is REQUIRED for hierarchical orchestration to workThis makes the MCP server available to ALL Claude instances
Without this, spawned instances will NOT have access to MCP tools
See MCP Configuration Guide for detailed information
Verify configuration:
claude mcp list
# Should show: tmux-claude: node /path/to/simple_mcp_server.jsUsage
The MCP server runs automatically when Claude starts (after proper configuration above).
Tool Examples
Spawn an Executive
{
"name": "spawn",
"arguments": {
"role": "executive",
"workDir": "/jobs/auth_system",
"context": "# Executive: Auth System\\n\\nYou are responsible for orchestrating the implementation of a JWT authentication system..."
}
}Executive Spawns Manager
{
"name": "spawn",
"arguments": {
"role": "manager",
"workDir": "/jobs/auth_system",
"context": "# Manager: Auth Implementation\\n\\nPlan and coordinate the JWT auth system implementation...",
"parentId": "exec_1"
}
}Manager with Shared Workspace (NEW)
{
"name": "spawn",
"arguments": {
"role": "manager",
"workDir": "/jobs/auth_system",
"context": "# Manager: Feature Implementation\\n\\nCoordinate multiple specialists...",
"parentId": "exec_1",
"workspaceMode": "shared" // Enable git integration
}
}Manager Spawns Specialist
{
"name": "spawn",
"arguments": {
"role": "specialist",
"workDir": "/jobs/auth_system",
"context": "# Specialist: User Model\\n\\nImplement the User model with Mongoose...",
"parentId": "mgr_1_1"
}
}Send Task to Specialist
{
"name": "send",
"arguments": {
"instanceId": "spec_1_1_1",
"text": "Please implement the User model with email, password, and timestamps fields"
}
}Read Specialist Output
{
"name": "read",
"arguments": {
"instanceId": "spec_1_1_1",
"lines": 50
}
}List All Active Instances
{
"name": "list",
"arguments": {}
}List Manager's Specialists
{
"name": "list",
"arguments": {
"parentId": "mgr_1_1"
}
}Terminate Completed Specialist
{
"name": "terminate",
"arguments": {
"instanceId": "spec_1_1_1"
}
}State Management
External State Store (Phase 1)
Located at ./state/instances.json:
{
"instances": {
"exec_1": {
"instanceId": "exec_1",
"role": "executive",
"parentId": null,
"sessionName": "claude_exec_1",
"projectDir": "/jobs/auth_system/exec_1",
"paneTarget": "claude_exec_1:0.0",
"status": "active",
"created": "2024-01-01T10:00:00Z",
"children": ["mgr_1_1"]
}
}
}Instance Directory Structure
/jobs/auth_system/
├── exec_1/
│ ├── CLAUDE.md # Executive context
│ └── project files...
├── mgr_1_1/
│ ├── CLAUDE.md # Manager context
│ └── project files...
└── spec_1_1_1/
├── CLAUDE.md # Specialist context
└── implementation files...Error Recovery
The server implements nearly-free recovery using Claude's --continue flag:
{
"name": "restart",
"arguments": {
"instanceId": "spec_1_1_1"
}
}This will:
Check if instance is actually dead
Recreate tmux session in same project directory
Launch
claude --project . --continueClaude automatically resumes where it left off
Role-Based Access Control
Executive: Full access to all MCP tools
Manager: Full access to all MCP tools
Specialist: NO access to MCP tools (uses standard Claude tools only)
The server enforces this by checking the caller's role and rejecting MCP tool calls from Specialists.
Integration with Claude SDK
Each spawned instance:
Uses
--project <dir>for conversation isolationGets unique project directory:
~/.claude/projects/-jobs-auth_system-<instance_id>/Maintains separate conversation history and todos
Can be monitored via read-only access to Claude's todo files
Phase Evolution
Phase 1: Sequential execution, 1 Executive → 1 Manager → 1 Specialist
Phase 2: Limited parallelism, 2-3 Specialists per Manager
Phase 3: Full parallelism, multiple Managers and Specialists
The MCP interface is designed to support all phases without code changes - only configuration differences.
Scheduled Continue Feature
The Scheduled Continue feature allows you to schedule "Plz continue" messages to all tmux sessions at a specified time. This is useful for automating session management and ensuring work resumes at specific times.
Basic Usage
# Schedule in 30 minutes
node scripts/scheduled_continue.js "+30m"
# Schedule at 3:30 PM today
node scripts/scheduled_continue.js "15:30"
# Schedule at 9:45 AM with AM/PM format
node scripts/scheduled_continue.js "9:45am"
# Schedule using natural language
node scripts/scheduled_continue.js "in 2 hours"Advanced Options
# Custom message
node scripts/scheduled_continue.js "+1h" -m "Time to review progress"
# Dry run (test without executing)
node scripts/scheduled_continue.js "+5m" --dry-run
# Verbose logging
node scripts/scheduled_continue.js "+15m" --verbose
# Show help
node scripts/scheduled_continue.js --helpSupported Time Formats
Relative:
+30m,+2h,+90m24-hour:
15:30,09:45,23:5912-hour:
3:30pm,9:45am,11:59PMNatural language:
"in 30 minutes","in 2 hours"
Important Notes
The process must remain running until execution time
System sleep/hibernate may interrupt scheduling
Maximum scheduling window is 24 hours
Sessions are re-validated at execution time
Uses high-reliability message delivery
For detailed documentation, see:
Testing
npm test # Run all tests
./scripts/run_all_tests.sh # Run comprehensive test suiteDevelopment
npm run dev # Start with file watchingArchitecture Documents
For complete implementation details, see:
docs/main/tmux-manager-MCP.md- MCP server specificationdocs/main/tmux-claude-implementation.md- Complete architecturedocs/main/tmux-mvp-implementation.md- Phase 1 MVP approachdocs/GIT_INTEGRATION_GUIDE.md- Git integration and workspace modesdocs/WORKSPACE_MODES.md- Detailed workspace mode documentationdocs/GIT_INTEGRATION_REFINEMENT_PLAN.md- Technical implementation details
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/michael-abdo/tmux-claude-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server