Skip to main content
Glama
saicharanrajoju

io.github.saicharanrajoju/letswork

LetsWork

Kollaboratives Programmieren in Echtzeit über Claude Code — zwei Entwickler, eine Codebasis, jeder mit seinem eigenen Claude-Abonnement.

Ein Entwickler hostet die Sitzung. Der andere tritt von überall bei. Beide erhalten ein Claude-Code-Fenster, das live mit demselben Projekt verbunden ist — mit Dateisperren und einem Genehmigungssystem zur Vermeidung von Konflikten.


So funktioniert es

  1. Der Host führt letswork start in seinem Projektordner aus

  2. Über Cloudflare wird automatisch ein sicherer HTTPS-Tunnel erstellt

  3. Eine Einmal-URL und ein Gast-Token werden generiert und ausgegeben

  4. Der Host teilt den Join-Befehl mit dem Gast

  5. Der Gast führt letswork join <url> --token <token> auf seinem Rechner aus

  6. Beide Entwickler haben jetzt Claude Code mit derselben Codebasis verbunden


Related MCP server: pairwave

Voraussetzungen

Voraussetzung

macOS

Windows (WSL)

Python 3.10+

brew install python

In Ubuntu WSL enthalten

cloudflared

brew install cloudflared

Siehe WSL-Abschnitt unten

Claude Code

npm install -g @anthropic-ai/claude-code

npm install -g @anthropic-ai/claude-code (innerhalb von WSL)

Node.js

brew install node

sudo apt install nodejs npm (innerhalb von WSL)


macOS — Host-Einrichtung

Der Host ist der Entwickler, dem das Projekt gehört. Du startest die Sitzung und teilst den Join-Befehl.

Schritt 1 — Abhängigkeiten installieren

brew install cloudflared
pip install letswork

Schritt 2 — Claude Code installieren

npm install -g @anthropic-ai/claude-code

Schritt 3 — Die Sitzung starten

Navigiere zu deinem Projektordner und führe Folgendes aus:

cd /path/to/your/project
letswork start

Du wirst nach deinem Anzeigenamen gefragt, dann erscheint ein Sitzungsfenster:

╔══════════════════════════════════════════════════════════════════════╗
║  🤝 LetsWork Session Active                                          ║
║                                                                      ║
║  Send this command to your collaborator:                             ║
║  letswork join https://abc123.trycloudflare.com --token a1b2c3d4    ║
║                                                                      ║
║  Press Ctrl+C to stop.                                               ║
╚══════════════════════════════════════════════════════════════════════╝

Kopiere den vollständigen letswork join ...-Befehl und sende ihn an deinen Kollegen.

Zwei neue Terminalfenster öffnen sich automatisch:

  • Claude Code — bereits mit LetsWork verbunden

  • Ein Chatfenster zur Kommunikation mit deinem Kollegen

Schritt 4 — Gaständerungen genehmigen

Wenn der Gast eine Datei bearbeitet, siehst du eine Benachrichtigung in Claude Code. Frage Claude:

get_pending_changes

Genehmige oder lehne dann ab:

approve_change <id>
reject_change <id>

Schritt 5 — Die Sitzung beenden

Drücke Ctrl+C in dem Terminal, in dem du letswork start ausgeführt hast.


macOS — Gast-Einrichtung

Der Gast verbindet sich mit dem Projekt des Hosts. Du benötigst den Join-Befehl vom Host.

Schritt1 — Abhängigkeiten installieren

brew install cloudflared
pip install letswork

Schritt2 — Claude Code installieren

npm install -g @anthropic-ai/claude-code

Schritt3 — Der Sitzung beitreten

Führe den Befehl aus, den dir der Host gesendet hat:

letswork join https://abc123.trycloudflare.com --token a1b2c3d4

Du wirst nach deinem Anzeigenamen gefragt. Dann öffnen sich zwei Fenster:

  • Claude Code — mit dem Projekt des Hosts verbunden

  • Ein Chatfenster zur Kommunikation mit dem Host

Schritt4 — Dateien bearbeiten

Bite Claude, Dateien wie gewohnt zu lesen und zu bearbeiten. Wenn du eine Datei schreibst, landet sie in einer Genehmigungs warteschlange — der Host prüft sie, bevor sie auf die Festplatte geschrieben wird. Du erhältst eine Benachrichtigung, wenn sie genehmigt oder abgelehnt wird.


Windows — Gast-Einrichtung (WSL)

LetsWork läuft innerhalb von WSL (Windows Subsystem for Linux). Die Gast-Erfahrung ist dieselbe wie unter macOS, sobald WSL eingerichtet ist.

Schritt 1 — WSL aktivieren und Ubuntu installieren

Öffne PowerShell als Administrator und führe Folgendes aus:

wsl --install

Starte deinen Computer neu, wenn du dazu aufgefordert wirst. Ubuntu wird automatisch installiert.

Öffne Ubuntu über das Startmenü und richte deinen Linux-Benutzernamen und dein Passwort ein.

Schritt2 — Abhängigkeiten in Ubuntu installieren

Öffne Ubuntu und führe diese nacheinander aus:

# Update packages
sudo apt update && sudo apt upgrade -y

# Install Python
sudo apt install python3 python3-pip -y

# Install Node.js and npm
sudo apt install nodejs npm -y

# Install cloudflared
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/

# Install letswork
pip3 install letswork

Schritt3 — Claude Code in Ubuntu installieren

npm install -g @anthropic-ai/claude-code

Schritt4 — Der Sitzung beitreten

Führe den Befehl, den dir der Host gesendet hat, in Ubuntu aus:

letswork join https://abc123.trycloudflare.com --token a1b2c3d4

Du wirst nach deinem Anzeigenamen gefragt. Claude Code startet direkt im selben Terminalfenster.

Hinweis für Windos-Benutzer: Claude Code läuft im WSL-Terminal — nicht in einem separaten Fenster. Alles andere funktioniert genauso wie unter macOS.


Verfügbare MCP-Tools

Sowohl Host als auch Gast haben in Claude Code Zugriff auf diese Tools:

Tool

Wer kann nutzen

Beschreibung

list_files

Beide

Listet Dateien und Verzeichnisse mit Sperrstatus auf

read_file

Beide

Liest Dateiinhalte (1-MB-Limit, nur Textdateien)

write_file

Beide

Reicht eine Dateiänderung ein (Gaständerungen benötigen die Freigabe des Hosts)

lock_file

Beide

Sperrt eine Datei zur exklusiven Bearbeitung

unlock_file

Beide

Gibt die eigene Dateisperre frei

get_status

Beide

Zeigt Sitzungsinformationen, verbundene Benutzer und aktive Sperren

get_notifications

Beide

Kurzübersicht, was Aufmerksamkeit erfordert

ping

Beide

Überprüft die Verbindung zum MCP-Server des Hosts

set_display_name

Nur Gast

Legt deinen Anzeigenamen für die Sitzung fest

my_pending_changes

Nur Gast

Zeigt deine eingereichten, auf Freigabe wartenden Änderungen

get_pending_changes

Nur Host

Zeigt alle auf Freigabe wartenden Änderungen mit Diffs

approve_change

Nur Host

Genehmigt eine ausstehende Änderung und schreibt sie auf die Festplatte

reject_change

Nur Host

Lehnt eine ausstehende Änderung ab

force_unlock

Nur Host

Erzwingt das Aufheben einer hängenden Dateisperre


Genehmigungsablauf

Dateischreibvorgänge des Gasts gehen nicht direkt auf die Festplatte — sie durchlaufen die Genehmigungswarteschlange des Hosts:

  1. Der Gast bittet Claude, eine Datei zu bearbeiten → write_file reicht die Änderung ein

  2. Der Host sieht: 📝 guest submitted change to server.py (ID: a1b2c3)

  3. Der Host fragt Claude: get_pending_changes — sieht einen vollständigen Diff

  4. Der Host genehmigt: approve_change a1b2c3 → die Datei wird auf die Festplatte geschrieben

  5. Oder er lehnt ab: reject_change a1b2c3 → der Gast wird benachrichtigt


Sicherheit

  • Zufällige Cloudflare-Subdomain — URL ist nicht erratbar

  • Kryptografisches Token — zweite Authentifizierungsebene zusätzlich zur URL

  • Der gesamte Datenverkehr ist per HTTPS verschlüsselt

  • Schutz vor Path-Traversal — der Gast kann nicht auf Dateien außerhalb des Projektverzeichnisses zugreifen

  • Dateisperren laufen nach 30 Minuten automatisch ab

  • Keine Konten, keine Anmeldung, keine dauerhaften Zugangsdaten — die Sitzung endet, wenn der Host sie beendet


Einschränkungen

  • Maximal 2 Benutzer pro Sitzung (Host + 1 Gast)

  • Nur Textdateien — Binärdateien werden nicht unterstützt

  • Dateigrößenlimit von 1 MB pro Lese-/Schreibvorgang

  • Der Gast hat keinen Shell-Zugriff — nur Dateioperationen

  • cloudflared muss auf der Host-Maschine installiert sein (der Gast benötigt es unter macOS nicht, WSL-Gäste jedoch schon)


CLI-Referenz

letswork start [--port PORT] [--debug]   # Start a session (default port: 8000)
letswork join <URL> --token <TOKEN>      # Join a session as guest

Architektur

Host Machine:
[Project Files] ← [MCP Server :8000] ← [Cloudflare Tunnel] ← HTTPS URL
                                                                    ↑
                                             Guest connects here
                                             via stdio proxy + secret token

Der Gast verbindet sich über einen stdio-Proxy und nicht direkt über HTTP — das vermeidet Zuverlässigkeitsprobleme mit Cloudflare SSE und sorgt für eine stabile MCP-Verbindung.


Lizenz

MIT — siehe LICENSE


Erstellt mit dem Model Context Protocol.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saicharanrajoju/letswork-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server