Skip to main content

MCP server for coordinating Claude Code instances across multiple projects

Project description

Claude Control

MCP server that lets a Claude Code session coordinate with Claude Code instances running in other project directories.

How It Works

Claude Control is an MCP server (stdio transport) that exposes tools for dispatching prompts to Claude Code instances in configured project directories. Each remote instance:

  • Runs as a persistent subprocess with conversation context preserved across calls
  • Loads the target project's own CLAUDE.md, .mcp.json, hooks, and settings
  • Runs with bypassPermissions for fully autonomous operation

Installation

From PyPI

pip install claude-control

Or with uv:

uv tool install claude-control

From Source

git clone https://github.com/redducklabs/claude-control.git
cd claude-control
pip install .

Setup

1. Configure Projects

Create a projects.json file (see projects.json.example):

{
  "projects": [
    {
      "name": "my-backend",
      "path": "D:\\repos\\my-backend",
      "description": "Backend API service"
    },
    {
      "name": "my-frontend",
      "path": "D:\\repos\\my-frontend",
      "description": "Frontend web application"
    }
  ]
}

2. Register as an MCP Server

Add to the .mcp.json of the project where you want coordination tools available.

Using uvx (recommended — no global install needed):

{
  "mcpServers": {
    "claude_control": {
      "command": "uvx",
      "args": ["claude-control"],
      "env": {
        "CLAUDE_CONTROL_PROJECTS": "/path/to/your/projects.json"
      }
    }
  }
}

Using a pip install:

{
  "mcpServers": {
    "claude_control": {
      "command": "claude-control",
      "env": {
        "CLAUDE_CONTROL_PROJECTS": "/path/to/your/projects.json"
      }
    }
  }
}

Using python -m:

{
  "mcpServers": {
    "claude_control": {
      "command": "python",
      "args": ["-m", "claude_control"],
      "env": {
        "CLAUDE_CONTROL_PROJECTS": "/path/to/your/projects.json"
      }
    }
  }
}

3. Restart Claude Code

The tools will appear as mcp__claude_control__send_command, mcp__claude_control__list_projects, etc.

Tools

send_command

Send a prompt to a Claude Code instance in the specified project directory.

Parameter Type Description
project string Project name (from projects.json)
prompt string The prompt to send

Returns the full text response from the remote instance. Sessions persist across calls — follow-up prompts have access to prior context.

list_projects

List all configured projects with their paths, descriptions, and session status.

reset_session

Tear down a project's Claude Code session. The next send_command call creates a fresh session with no prior context.

Parameter Type Description
project string Project name to reset

get_session_status

Check whether a project has an active session, its ID, and turn count.

Parameter Type Description
project string Project name to check

Dependencies

  • Python >= 3.11
  • claude-code-sdk >= 0.0.25
  • mcp >= 1.12.0
  • Claude Code CLI installed and on PATH

Configuration

The CLAUDE_CONTROL_PROJECTS environment variable points to your projects.json. If unset, defaults to projects.json in the package's parent directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_control-0.2.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_control-0.2.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file claude_control-0.2.0.tar.gz.

File metadata

  • Download URL: claude_control-0.2.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for claude_control-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b4ddbb556c4eb4dc1711b5e11f171ad543e88ed4f96913bfd2909c3897ab98ed
MD5 fff299bcc78f0a3287eac03c4f17557e
BLAKE2b-256 c152e835e4482c223428ed3750479d00504dede0c2f2415b2f086af47ff231c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_control-0.2.0.tar.gz:

Publisher: publish-python.yml on redducklabs/claude-control

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file claude_control-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: claude_control-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for claude_control-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a09a394946325a3be12e9e8d485be6f8a69bd4fa3048c5ea6ec879d368fa9e24
MD5 3bbcf84ce813417796d4f9f0fce013fa
BLAKE2b-256 4153e6f7f746d374d75437a9bc162c4b1f7ebe01ede761f9eab415434f75afbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_control-0.2.0-py3-none-any.whl:

Publisher: publish-python.yml on redducklabs/claude-control

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page