io.github.saicharanrajoju/letswork
LetsWork
Programación colaborativa en tiempo real mediante Claude Code — dos desarrolladores, un solo código base, cada uno con su propia suscripción de Claude.
Un desarrollador aloja la sesión. El otro se une desde cualquier lugar. Ambos obtienen una ventana en directo de Claude Code conectada al mismo proyecto, con bloqueo de archivos y un sistema de aprobación para evitar conflictos.
Cómo funciona
El anfitrión ejecuta
letswork startdentro de su carpeta de proyectoSe crea automáticamente un túnel HTTPS seguro a través de Cloudflare
Se genera e imprime una URL de un solo uso + token de invitado
El anfitrión comparte el comando join con el invitado
El invitado ejecuta
letswork join <url> --token <token>en su máquinaAmbos desarrolladores tienen ahora Claude Code conectado al mismo código base
Related MCP server: pairwave
Requisitos
Requisito | macOS | Windows (WSL) |
Python 3.10+ |
| Viene con Ubuntu WSL |
cloudflared |
| Consulta la sección de WSL más abajo |
Claude Code |
|
|
Node.js |
|
|
macOS — Configuración del anfitrión
El anfitrión es el desarrollador propietario del proyecto. Tú inicias la sesión y compartes el comando join.
Paso 1 — Instalar dependencias
brew install cloudflared
pip install letsworkPaso 2 — Instalar Claude Code
npm install -g @anthropic-ai/claude-codePaso 3 — Iniciar la sesión
Navega hasta la carpeta de tu proyecto y ejecuta:
cd /path/to/your/project
letswork startSe te pedirá tu nombre para mostrar y, a continuación, aparecerá un cuadro de sesión:
╔══════════════════════════════════════════════════════════════════════╗
║ 🤝 LetsWork Session Active ║
║ ║
║ Send this command to your collaborator: ║
║ letswork join https://abc123.trycloudflare.com --token a1b2c3d4 ║
║ ║
║ Press Ctrl+C to stop. ║
╚══════════════════════════════════════════════════════════════════════╝Copia el comando completo letswork join ... y envíalo a tu colaborador.
Se abren automáticamente dos ventanas de terminal nuevas:
Claude Code — ya conectado a LetsWork
Una ventana de chat para comunicarte con tu colaborador
Paso 4 — Aprobar cambios del invitado
Cuando el invitado edite un archivo, verás una notificación en Claude Code. Pídele a Claude:
get_pending_changesLuego aprueba o rechaza:
approve_change <id>
reject_change <id>Paso 5 — Detener la sesión
Pulsa Ctrl+C en la terminal donde ejecutaste letswork start.
macOS — Configuración del invitado
El invitado se conecta al proyecto del anfitrión. Necesitas el comando join del anfitrión.
Paso 1 — Instalar dependencias
brew install cloudflared
pip install letsworkPaso 2 — Instalar Claude Code
npm install -g @anthropic-ai/claude-codePaso 3 — Unirse a la sesión
Ejecuta el comando que te envió el anfitrión:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4Se te pedirá tu nombre para mostrar. Luego se abren dos ventanas:
Claude Code — conectado al proyecto del anfitrión
Una ventana de chat para comunicarte con el anfitrión
Paso 4 — Editar archivos
Pídele a Claude que lea y edite archivos con normalidad. Cuando escribas un archivo, este pasa a una cola de aprobación: el anfitrión lo revisa antes de que se escriba en el disco. Recibirás una notificación cuando sea aprobado o rechazado.
Windows — Configuración del invitado (WSL)
LetsWork se ejecuta dentro de WSL (Windows Subsystem for Linux). La experiencia del invitado es la misma que en macOS una vez que WSL está configurado.
Paso 1 — Habilitar WSL e instalar Ubuntu
Abre PowerShell como Administrador y ejecuta:
wsl --installReinicia el equipo cuando se te indique. Ubuntu se instalará automáticamente.
Abre Ubuntu desde el menú Inicio y configura tu nombre de usuario y contraseña de Linux.
Paso 2 — Instalar dependencias dentro de Ubuntu
Abre Ubuntu y ejecuta estos comandos uno por uno:
# 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 letsworkPaso 3 — Instalar Claude Code dentro de Ubuntu
npm install -g @anthropic-ai/claude-codePaso 4 — Unirse a la sesión
Ejecuta dentro de Ubuntu el comando que te envió el anfitrión:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4Se te pedirá tu nombre para mostrar. Claude Code se abre directamente en la misma ventana de terminal.
Nota para usuarios de Windows: Claude Code se ejecuta en la terminal de WSL — no en una ventana separada. Todo lo demás funciona igual que en macOS.
Herramientas MCP disponibles
Tanto el anfitrión como el invitado tienen acceso a estas herramientas dentro de Claude Code:
Herramienta | Quién puede usarla | Descripción |
| Ambos | Lista archivos y directorios con el estado de bloqueo |
| Ambos | Lee el contenido de archivos (límite de 1MB, solo archivos de texto) |
| Ambos | Envía un cambio de archivo (los cambios del invitado requieren aprobación del anfitrión) |
| Ambos | Bloquea un archivo para edición exclusiva |
| Ambos | Libera tu propio bloqueo de archivo |
| Ambos | Muestra la información de la sesión, los usuarios conectados y los bloqueos activos |
| Ambos | Resumen rápido de lo que requiere atención |
| Ambos | Verifica la conexión con el servidor MCP del anfitrión |
| Solo invitado | Establece tu nombre para mostrar en la sesión |
| Solo invitado | Consulta tus cambios enviados pendientes de aprobación |
| Solo anfitrión | Consulta todos los cambios pendientes de aprobación con sus diferencias |
| Solo anfitrión | Aprueba un cambio pendiente y lo escribe en el disco |
| Solo anfitrión | Rechaza un cambio pendiente |
| Solo anfitrión | Fuerza la liberación de un bloqueo de archivo atascado |
Flujo de aprobación
Las escrituras de archivos del invitado no van directamente al disco, sino que pasan por la cola de aprobación del anfitrión:
El invitado le pide a Claude que edite un archivo →
write_fileenvía el cambioEl anfitrión ve:
📝 guest submitted change to server.py (ID: a1b2c3)El anfitrión le pide a Claude:
get_pending_changes— ve un diff completoEl anfitrión aprueba:
approve_change a1b2c3→ el archivo se escribe en el discoO lo rechaza:
reject_change a1b2c3→ el invitado recibe una notificación
Seguridad
Subdominio aleatorio de Cloudflare: la URL es imposible de adivinar
Token criptográfico: segunda capa de autenticación además de la URL
Todo el tráfico está cifrado mediante HTTPS
Prevención de path traversal: el invitado no puede acceder a archivos fuera de la raíz del proyecto
Los bloqueos de archivo caducan automáticamente a los 30 minutos
Sin cuentas, sin registro, sin credenciales persistentes: la sesión termina cuando el anfitrión la detiene
Restricciones
Máximo 2 usuarios por sesión (Anfitrión + 1 Invitado)
Solo archivos de texto: no se admiten archivos binarios
Límite de tamaño de archivo de 1MB por operación de lectura/escritura
El invitado no tiene acceso a la shell: solo operaciones de archivo
cloudflareddebe estar instalado en la máquina del anfitrión (el invitado no lo necesita en macOS, pero los invitados de WSL sí)
Referencia de CLI
letswork start [--port PORT] [--debug] # Start a session (default port: 8000)
letswork join <URL> --token <TOKEN> # Join a session as guestArquitectura
Host Machine:
[Project Files] ← [MCP Server :8000] ← [Cloudflare Tunnel] ← HTTPS URL
↑
Guest connects here
via stdio proxy + secret tokenEl invitado se conecta a través de un proxy stdio en lugar de hacerlo directamente por HTTP; esto evita los problemas de fiabilidad de Cloudflare SSE y proporciona una conectividad MCP estable.
Licencia
MIT — consulta LICENSE
Construido con el 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