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
Der Host führt
letswork startin seinem Projektordner ausÜber Cloudflare wird automatisch ein sicherer HTTPS-Tunnel erstellt
Eine Einmal-URL und ein Gast-Token werden generiert und ausgegeben
Der Host teilt den Join-Befehl mit dem Gast
Der Gast führt
letswork join <url> --token <token>auf seinem Rechner ausBeide Entwickler haben jetzt Claude Code mit derselben Codebasis verbunden
Related MCP server: pairwave
Voraussetzungen
Voraussetzung | macOS | Windows (WSL) |
Python 3.10+ |
| In Ubuntu WSL enthalten |
cloudflared |
| Siehe WSL-Abschnitt unten |
Claude Code |
|
|
Node.js |
|
|
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 letsworkSchritt 2 — Claude Code installieren
npm install -g @anthropic-ai/claude-codeSchritt 3 — Die Sitzung starten
Navigiere zu deinem Projektordner und führe Folgendes aus:
cd /path/to/your/project
letswork startDu 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_changesGenehmige 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 letsworkSchritt2 — Claude Code installieren
npm install -g @anthropic-ai/claude-codeSchritt3 — Der Sitzung beitreten
Führe den Befehl aus, den dir der Host gesendet hat:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4Du 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 --installStarte 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 letsworkSchritt3 — Claude Code in Ubuntu installieren
npm install -g @anthropic-ai/claude-codeSchritt4 — Der Sitzung beitreten
Führe den Befehl, den dir der Host gesendet hat, in Ubuntu aus:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4Du 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 |
| Beide | Listet Dateien und Verzeichnisse mit Sperrstatus auf |
| Beide | Liest Dateiinhalte (1-MB-Limit, nur Textdateien) |
| Beide | Reicht eine Dateiänderung ein (Gaständerungen benötigen die Freigabe des Hosts) |
| Beide | Sperrt eine Datei zur exklusiven Bearbeitung |
| Beide | Gibt die eigene Dateisperre frei |
| Beide | Zeigt Sitzungsinformationen, verbundene Benutzer und aktive Sperren |
| Beide | Kurzübersicht, was Aufmerksamkeit erfordert |
| Beide | Überprüft die Verbindung zum MCP-Server des Hosts |
| Nur Gast | Legt deinen Anzeigenamen für die Sitzung fest |
| Nur Gast | Zeigt deine eingereichten, auf Freigabe wartenden Änderungen |
| Nur Host | Zeigt alle auf Freigabe wartenden Änderungen mit Diffs |
| Nur Host | Genehmigt eine ausstehende Änderung und schreibt sie auf die Festplatte |
| Nur Host | Lehnt eine ausstehende Änderung ab |
| 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:
Der Gast bittet Claude, eine Datei zu bearbeiten →
write_filereicht die Änderung einDer Host sieht:
📝 guest submitted change to server.py (ID: a1b2c3)Der Host fragt Claude:
get_pending_changes— sieht einen vollständigen DiffDer Host genehmigt:
approve_change a1b2c3→ die Datei wird auf die Festplatte geschriebenOder 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
cloudflaredmuss 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 guestArchitektur
Host Machine:
[Project Files] ← [MCP Server :8000] ← [Cloudflare Tunnel] ← HTTPS URL
↑
Guest connects here
via stdio proxy + secret tokenDer 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.
This server cannot be installed
Maintenance
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
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
- AxisOAuthdev.useaxis
Coding agents from Claude Code, Cursor and Codex claim jobs and lock files on one shared board.
Build and supervise fleets of agents from Claude Code, Codex or Cursor. Connects over OAuth.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceShare context, detect file conflicts, and send messages across parallel Claude Code sessions83MIT
- FlicenseNot gradedqualityCmaintenanceEnables two Claude Code sessions to connect over an end-to-end encrypted channel for collaborative AI-assisted development, with MCP tools for messaging, code sharing, and turn-taking.-
- AlicenseNot gradedqualityDmaintenanceCross-session coordination server for Claude Code that manages file claims, build locks, shared knowledge, and provides a real-time dashboard to prevent conflicts across multiple sessions.MIT
- AlicenseNot gradedqualityBmaintenanceEnables teams to share context and messages between Claude Code sessions via a relay, allowing collaborative work on the same project.8MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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