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
- Go to supabase.com and create a free project
- Run the schema setup in your Supabase SQL editor (see setup.sql)
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3784370ffa80f374863afde1db718b51ebfd7edc54f81b42d0987165c06bb385
|
|
| MD5 |
d19d08a268cda928c6aa2a15d56d9cdb
|
|
| BLAKE2b-256 |
31da7d507e246c92c0e4c2438cad0cb30e632c974d541609b57019473e381be3
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c0fdada5de46e846a5bc0aa8db83738507b78c1b46b7e8bf4c51af085840f3e
|
|
| MD5 |
c474100260df009445ea84ff0a9fbda3
|
|
| BLAKE2b-256 |
e924504c8897cd5fd5a1669b854cff5c3ef5ba805b9472e6bd1129989e0a300d
|