Skip to main content
Glama
michael-abdo

tmux-claude MCP Server

by michael-abdo

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

Demo 1 - Hierarchical Instance Management Hierarchical orchestration showing Executive, Manager, and Specialist instances working together

Demo 2 - Real-time Monitoring Dashboard Web-based monitoring dashboard displaying active instances and system metrics

Related MCP server: claude-code-mcp

šŸ¤– 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.js

Architecture

  • External State Store: JSON file-based registry for Phase 1, Redis-ready for Phase 2+

  • Project Isolation: Each Claude instance uses --project flag for conversation isolation

  • Role-Based Access: Specialists have NO access to MCP tools, only Executive/Manager can orchestrate

  • Hierarchical Naming: exec_1, mgr_1_1, spec_1_1_1 for clear parent-child relationships

  • Nearly-Free Recovery: Restart instances using --continue flag

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 operations

  • instance.py → src/instance_manager.js - Instance lifecycle management

  • manager.py → src/instance_manager.js - Registry and coordination

  • session_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 install

Configuration (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.js

Important notes:

  • The -s user flag is REQUIRED for hierarchical orchestration to work

  • This 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.js

Usage

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:

  1. Check if instance is actually dead

  2. Recreate tmux session in same project directory

  3. Launch claude --project . --continue

  4. Claude 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 isolation

  • Gets 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 --help

Supported Time Formats

  • Relative: +30m, +2h, +90m

  • 24-hour: 15:30, 09:45, 23:59

  • 12-hour: 3:30pm, 9:45am, 11:59PM

  • Natural 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 suite

Development

npm run dev  # Start with file watching

Architecture Documents

For complete implementation details, see:

  • docs/main/tmux-manager-MCP.md - MCP server specification

  • docs/main/tmux-claude-implementation.md - Complete architecture

  • docs/main/tmux-mvp-implementation.md - Phase 1 MVP approach

  • docs/GIT_INTEGRATION_GUIDE.md - Git integration and workspace modes

  • docs/WORKSPACE_MODES.md - Detailed workspace mode documentation

  • docs/GIT_INTEGRATION_REFINEMENT_PLAN.md - Technical implementation details

Available Tools

14 tools
check_workspace_conflictsC

Analyze potential conflicts in shared workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceDirYesPath to the shared workspace directory
managerIdsNoManager instance IDs to analyze

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits, but it only says 'analyze potential conflicts' without indicating whether it reads or writes, permissions required, or what happens on conflict detection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is concise but lacks structure; it could benefit from front-loading key details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without output schema or annotations, the description is too brief to cover what the tool returns or its operational context, leaving significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to add much; however, it adds no extra meaning beyond the parameter names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Analyze potential conflicts') and resource ('shared workspace'), but does not differentiate it from sibling tools like get_workspace_status or merge_manager_work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no context provided, and no exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commit_manager_workB

Commit current work with proper git practices (Manager only)

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYesManager instance ID
messageYesCommit message
filesNoSpecific files to commit (default: all changes)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description is vague about behavioral traits. It does not disclose whether the commit is pushed, requires authentication, or affects remote state, leaving critical uncertainty for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It is front-loaded but could be improved by adding a brief usage note without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema, the description is minimal. It lacks details about the commit process (e.g., whether it pushes) and does not cover all behavioral aspects, but it is not severely incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already describes the parameters. The description adds no further meaning beyond the schema, achieving the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Commit current work') and the context ('with proper git practices (Manager only)'). It uses a specific verb and resource, and differentiates from siblings like merge_manager_work and sync_manager_branch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only includes a scope restriction ('Manager only') but does not provide explicit guidance on when to use this tool versus alternatives, nor does it specify when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

distributeWorkB

Distribute tasks across multiple Managers (Executive only)

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksYesTasks to distribute across Managers
strategyNoDistribution strategy to use

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only mentions distribution and executive access, but lacks details on side effects, synchronicity, or whether tasks are modified in place. This is insufficient for an action tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but lacks structure. It does not elaborate on behavior or provide examples, so while not verbose, it is under-informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and limited annotations, the description should provide more context about the distribution process, error handling, or async behavior. It only hints at the executive restriction, leaving many important aspects unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described. The description adds no new parameter semantics beyond the schema. Baseline 3 is appropriate as the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool distributes tasks across multiple Managers, with an executive-only restriction. It does not explicitly differentiate from siblings like 'commit_manager_work' or 'executeParallel', but the purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for distributing tasks and restricts usage to executives. However, it provides no guidance on when to use it versus alternatives (e.g., 'executeParallel' for parallel execution) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

executeParallelB

Execute multiple tasks in parallel using Specialist instances (Manager only)

ParametersJSON Schema
NameRequiredDescriptionDefault
managerIdYesID of the Manager coordinating the parallel execution
tasksYesArray of task objects to execute in parallel
workDirYesWorking directory for the Specialist instances

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry full behavioral disclosure. However, it only states the action and a role restriction, omitting details about asynchronicity, side effects, error handling, or concurrency limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 11-word sentence, highly concise and front-loaded, with no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and nested objects in parameters, the description is moderately complete. It lacks information about return values, error behavior, and whether execution is synchronous, which is important for an async-like tool with a status sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds minimal value beyond the schema by mentioning 'Specialist instances', hinting at the context for tasks. However, it does not clarify fields like completionPattern in the tasks array.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Execute multiple tasks in parallel using Specialist instances (Manager only)' clearly states the verb (execute), resource (multiple tasks), and context (parallel, Manager only), effectively distinguishing it from siblings like distributeWork.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes '(Manager only)' as a usage constraint but provides no guidance on when to use this tool vs alternatives like distributeWork or commit_manager_work, nor any when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getParallelStatusB

Get parallel execution status for a Manager

ParametersJSON Schema
NameRequiredDescriptionDefault
managerIdYesID of the Manager to check

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only states the basic function, without indicating side effects, permissions, rate limits, or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence. It is appropriately concise for a simple tool, though it could be slightly more informative without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the description lacks information about the return format, error handling, or what 'status' entails. It is adequate but leaves some gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (managerId is documented), so baseline is 3. The description does not add extra meaning beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get'), the resource ('parallel execution status'), and the scope ('for a Manager'). It is specific and distinct from sibling tools which involve committing, distributing, or other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_workspace_statusC

Get comprehensive status of shared workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceDirYesPath to the shared workspace directory

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits beyond the basic purpose. It does not state whether the tool is read-only, requires authentication, or has side effects. The agent lacks information about rate limits or potential impacts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence with no unnecessary words. It is concise and front-loaded, but could include slightly more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description is under-specified. It does not explain what 'comprehensive status' includes, leaving the agent uncertain about the return value's structure or content. More details are needed for a status tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'workspaceDir' described as 'Path to the shared workspace directory'. The description does not add any additional meaning beyond what the schema provides, but the schema itself is sufficient. Baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Get' and resource 'status of shared workspace', making the tool's purpose clear. However, it does not differentiate from sibling tools like 'check_workspace_conflicts' or 'getParallelStatus', which may also provide status information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, when not to use, or how it compares to siblings like 'check_workspace_conflicts'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listB

List all active Claude instances

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoFilter by role
parentIdNoFilter by parent instance ID

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only states basic action. Lacks details on side effects, performance characteristics, or any constraints beyond 'active' instances.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no filler, front-loaded with verb and resource. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple list with documented parameters, but no output schema or details on return format, pagination, or limits. Could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters. The description adds no extra meaning beyond the schema, so baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and resource 'active Claude instances'. It clearly distinguishes from sibling tools like 'check_workspace_conflicts' or 'read' by specifying what is being listed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings. It simply states what it does without context like prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

merge_manager_workB

Coordinate merge of manager work back to main branch (Executive only)

ParametersJSON Schema
NameRequiredDescriptionDefault
managerIdYesID of the manager whose work to merge
targetBranchNoTarget branch for merge (default: main)
strategyNoMerge strategy to use
deleteBranchNoDelete manager branch after merge

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses an access restriction ('Executive only') but fails to mention if the merge is destructive, conflict handling, or branch deletion behavior (though deleteBranch parameter exists). The description lacks critical behavioral traits for a merge tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the core purpose efficiently. While it could include more context, it is not verbose and is front-loaded with the action. Slightly under-specified but still concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 parameters (including an enum and a boolean) and no output schema, the description is too minimal. It omits return value, error cases, default behaviors (e.g., default targetBranch is 'main'), and any post-merge state. Incomplete for safe usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. The description does not add any additional meaning beyond what the schema already provides for parameters like managerId, targetBranch, strategy, or deleteBranch. No elaboration on enum values or parameter impact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Coordinate merge'), the resource ('manager work back to main branch'), and adds a restriction ('Executive only'). It distinguishes itself from siblings like commit_manager_work and sync_manager_branch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'Executive only' as a usage restriction but provides no guidance on when to use this tool vs alternatives like commit_manager_work or sync_manager_branch. No explicit when-to-use or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readC

Read output from a Claude instance

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYesID of the target instance
linesNoNumber of lines to read (default: 50)
followNoStream output (default: false)

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must fully disclose behavior. It only states 'Read output', omitting details like blocking, non-destructiveness, error handling, or return format. This is insufficient for an agent to predict side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, very concise. However, it sacrifices necessary detail for brevity, making it less informative than optimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool and high schema coverage, the description is minimally adequate. However, it lacks any context about return values, streaming behavior, or instance lifecycle, which would be valuable for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters (instanceId, lines, follow). The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'read' and resource 'output from a Claude instance', clearly indicating the action and target. It distinguishes from sibling tools like 'send' by implying input vs. output, but does not explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'send' or streaming. The description does not mention prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restartB

Restart a dead instance using --continue flag

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYesID of the instance to restart

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. It discloses the basic action but fails to detail side effects, prerequisites (e.g., instance must be 'dead'), or what the --continue flag entails. Insufficient for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with core action. Could be slightly improved by separating method detail, but highly efficient for its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations. Description is too brief for a tool that restarts instances; missing context like what 'dead' means, continuation behavior, and error handling. Incomplete for real-world use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage for the single parameter. Description adds no additional meaning beyond the schema's description. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (restart) and target (dead instance) with specific method (--continue flag). However, it does not explicitly differentiate from sibling tools like 'spawn' or 'terminate', though the context of 'dead' implies a specific state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Indicates use case: restart a dead instance. But no guidance on when not to use or mention of alternatives like 'spawn' for new instances. Implied usage is clear but lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sendB

Send text/prompt to a Claude instance

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYesID of the target instance
textYesText to send to the instance

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description lacks details on behavioral traits such as side effects, state changes, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, but it could be more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema or annotations, the description lacks crucial information about return values, side effects, or expected behavior after sending.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters, so the baseline is 3. The description adds no additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'send' and the resource 'text/prompt to a Claude instance', making it distinct from sibling tools like 'read' or 'list'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance provided on when to use this tool versus alternatives, nor any prerequisites or context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spawnB

Spawn a new Claude instance with role and context

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesRole of the instance to create
workDirYesWorking directory for the instance
contextYesCLAUDE.md content for the instance
parentIdNoID of parent instance for hierarchy tracking
workspaceModeNoWorkspace mode (isolated or shared for managers)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'spawn a new instance' without explaining side effects (e.g., resource consumption), authentication needs, or what happens on failure. This is minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is concise, though additional content for guidelines or transparency could be added without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete given the tool's complexity (5 parameters, 3 required, no output schema, no annotations). It does not explain the return value, lifecycle of the spawned instance, or potential errors. The agent lacks critical information to use the tool reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides for each parameter. It does not compensate with usage hints or formatting details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('spawn') and resource ('new Claude instance'), and clearly distinguishes from sibling tools that manage existing instances (list, terminate) or perform other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list or executeParallel. The description does not mention prerequisites, expected usage context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sync_manager_branchB

Sync manager branch with latest main branch changes (Manager only)

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYesManager instance ID
baseBranchNoBase branch to sync with (default: main)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It fails to mention side effects, prerequisites, or whether the sync is a pull, merge, or overwrite, leaving the agent uninformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core purpose, though it could include more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description lacks essential details about post-sync state, error conditions, or required permissions, making it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions, so baseline is 3. The description adds no additional meaning beyond the schema; it does not explain instanceId or baseBranch in context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Sync' and the specific resource 'manager branch with latest main branch changes', and the scope 'Manager only', distinguishing it from siblings like merge_manager_work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like merge_manager_work. The 'Manager only' hint is present but does not exclude when syncing is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

terminateA

Terminate a Claude instance and optionally its children

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYesID of the instance to terminate
cascadeNoAlso terminate child instances (default: false)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It discloses the optional cascade behavior but does not detail consequences (e.g., whether termination is forceful, reversible, or requires permissions), leaving significant gaps for a destructive action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-constructed sentence that is front-loaded and contains no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter tool with complete schema coverage, the description is adequate but lacks behavioral context (e.g., error handling, synchrony) that would improve completeness. No output schema exists, but the description does not compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema by mentioning 'optionally its children' which aligns with the cascade parameter, but does not enrich the understanding of instanceId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Terminate' and the resource 'Claude instance', and mentions optional child termination, which distinguishes it from sibling tools like spawn, restart, and list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool vs alternatives, nor does it provide prerequisites or exclusions. However, the purpose is self-evident for termination.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 14 tool updatesv1.0.0
    • First observedcheck_workspace_conflicts
    • First observedcommit_manager_work
    • First observeddistributeWork
    • First observedexecuteParallel
    • First observedget_workspace_status
    • First observedgetParallelStatus
    • First observedlist
    • First observedmerge_manager_work
    • First observedread
    • First observedrestart
    • First observedsend
    • First observedspawn
    • First observedsync_manager_branch
    • First observedterminate

TDQS

B3.2/5.0

Scored across 14 tools

Disambiguation5/5

Each tool targets a distinct operation: workspace management, instance lifecycle, parallel execution, and git operations. Tools like check_workspace_conflicts and get_workspace_status have clear boundaries, and even similar-sounding ones like distributeWork and executeParallel are differentiated by context (scheduling vs. running).

Naming Consistency3/5

The set uses a mix of snake_case (e.g., check_workspace_conflicts, commit_manager_work) and camelCase (e.g., distributeWork, executeParallel), plus short verbs (list, send, read). While each subgroup is internally consistent, the overall pattern is not uniform, which may cause slight confusion.

Tool Count4/5

14 tools cover the main aspects of instance management and workspace coordination without being excessive. The scope is well-defined, and each tool serves a necessary role in the multi-instance workflow.

Completeness4/5

The tool surface covers the key lifecycle operations (spawn, terminate, restart, send/read), parallel execution, and basic git workflow (commit, sync, merge). Minor gaps exist (e.g., no explicit tool for listing workspace files or pruning instances), but the core functionality is solid.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers