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.3.0.tar.gz (21.5 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.3.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_control-0.3.0.tar.gz
  • Upload date:
  • Size: 21.5 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.3.0.tar.gz
Algorithm Hash digest
SHA256 456a54abf120f34b33710d1ccf67b76b084bfb7678a3044426678e88c996891e
MD5 febe31ca5ff09645e94250fe4038121f
BLAKE2b-256 1fd755f462d4114c58033a7f3091b7edc3d3692d47b740b10ee56857e8b507c8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: claude_control-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.3 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f1c944c382f76e261eb6985209b449755cc5792a2984a978846c4450b3f44a8
MD5 834207ecfbb84cd5ed1060fb94355b33
BLAKE2b-256 a99ee62271ca29979ad264425d9466dc6155c68c3344e7b80fa853185252d7bf

See more details on using hashes here.

Provenance

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