Skip to main content

MCP server for async collaboration between two Claude users via shared project state

Project description

claude-collab-mcp

MCP server for async collaboration between two Claude users via shared project state.

Two people using Claude (Claude Code, Claude Desktop, or any MCP-compatible client) can share live project context through a Supabase backend. No cloud hosting required.

Installation

# Using uvx (recommended, no install needed)
uvx claude-collab-mcp

# Or install with pip
pip install claude-collab-mcp

# Or install with uv
uv pip install claude-collab-mcp

Setup

1. Create a Supabase Project

  1. Go to supabase.com and create a free project
  2. Run the schema setup in your Supabase SQL editor (see setup.sql)
  3. Copy your project URL and anon key from Settings > API

2. Configure Environment Variables

Each user needs three environment variables:

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-anon-key
COLLAB_USER=kelly  # or justin, or any identifier

3. Add to Your Claude Client

Claude Code:

claude mcp add claude-collab -s user -e SUPABASE_URL=https://... -e SUPABASE_KEY=... -e COLLAB_USER=kelly -- uvx claude-collab-mcp

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "claude-collab": {
      "command": "uvx",
      "args": ["claude-collab-mcp"],
      "env": {
        "SUPABASE_URL": "https://your-project.supabase.co",
        "SUPABASE_KEY": "your-anon-key",
        "COLLAB_USER": "justin"
      }
    }
  }
}

Tools

Core Collaboration

Tool Purpose
get_project_state(project_name) Full snapshot: open tasks, handoffs, decisions, context
update_task(project_name, title, ...) Create or update task (upsert by title)
post_handoff(project_name, to_user, title, context) Async handoff with rich context
get_handoffs(user?) Pending handoffs, auto-acknowledges yours
log_decision(project_name, decision, rationale) Append-only decision record
add_context(project_name, key, value) Upsert shared context entry
get_activity(project_name, since_hours?) Activity feed since N hours ago

Project Context Sync

Tool Purpose
sync_project_brief(project_name, brief?) Push/pull portable project overview (goals, architecture, context)
post_session_summary(project_name, summary, ...) Record what was accomplished (like /commit for collaborators)

Git Integration

Tool Purpose
log_git_activity(project_name, type, message, ...) Log commits, pushes, merges so collaborators see code changes

File References

Tool Purpose
add_file_reference(project_name, name, url, ...) Store links to external files (Google Drive, GitHub, Figma)
get_file_references(project_name) Retrieve all shared file links

Usage Pattern

Add this to any shared project's CLAUDE.md:

## On Session Start
Before beginning any work:
1. Call get_activity("project-name", 24) for recent changes
2. Call get_handoffs() for pending handoffs
3. Summarize what's new before proceeding

How It Works

User A's Claude → spawns local MCP server (stdio) → reads/writes Supabase
User B's Claude → spawns local MCP server (stdio) → reads/writes Supabase

Same package on both machines. Same Supabase database. Projects are created automatically on first use.

Requirements

  • Python 3.12+
  • Supabase account (free tier works)
  • MCP-compatible Claude client

License

MIT

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_collab_mcp-0.2.0.tar.gz (113.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_collab_mcp-0.2.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_collab_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 113.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for claude_collab_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3784370ffa80f374863afde1db718b51ebfd7edc54f81b42d0987165c06bb385
MD5 d19d08a268cda928c6aa2a15d56d9cdb
BLAKE2b-256 31da7d507e246c92c0e4c2438cad0cb30e632c974d541609b57019473e381be3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: claude_collab_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for claude_collab_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c0fdada5de46e846a5bc0aa8db83738507b78c1b46b7e8bf4c51af085840f3e
MD5 c474100260df009445ea84ff0a9fbda3
BLAKE2b-256 e924504c8897cd5fd5a1669b854cff5c3ef5ba805b9472e6bd1129989e0a300d

See more details on using hashes here.

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