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.1.0.tar.gz (6.9 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.1.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_control-0.1.0.tar.gz
  • Upload date:
  • Size: 6.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 733a1f8f264c2f3e9eff2dd4a5f07beb390897c5a5dd9de869e6622271242abc
MD5 155ee7e9f577f074257cddba07427733
BLAKE2b-256 83bddd50c3aad4cc00e6df546409583c97602545f41dcba1e235c32bf6251d03

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_control-0.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: claude_control-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 984f9fc5722a8b842cfa5542b3efe2c8f7625831477a4a1510e5c474a4b08459
MD5 ec42c282e4d46159afd6c1cb2e872d3e
BLAKE2b-256 6cecf7c355ddb17f7109a9dd6678fc97bdc852ad6fe326668ab8f60d7af7e076

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_control-0.1.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