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.1.tar.gz (10.0 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.1-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_control-0.2.1.tar.gz
  • Upload date:
  • Size: 10.0 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.1.tar.gz
Algorithm Hash digest
SHA256 0c266bcb963ea86ab07f1e84519cd51801eee1e40cf73d89a0ef0b1e9bc67346
MD5 ed7e98caf83eac1780617b2bd71c74fd
BLAKE2b-256 da9efbdcf2030b6827b0b0e5d85620a84938378f23aa7b740ba774a0d0ccc777

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: claude_control-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 488ec7a5e4f098204f0accfbce98fbec92465c2a4240e546fb5e812e3d6240de
MD5 0b8e1d0995ab17f5fd45f4f492c956c7
BLAKE2b-256 79816d20b595b8aee7c8ebf9023d338d84e8dc7b900561172d80781817e5543a

See more details on using hashes here.

Provenance

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