io.github.saicharanrajoju/letswork
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@io.github.saicharanrajoju/letsworkshow me pending changes from the guest"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LetsWork
Real-time collaborative coding via Claude Code — two developers, one codebase, each using their own Claude subscription.
One developer hosts the session. The other joins from anywhere. Both get a live Claude Code window connected to the same project — with file locking and an approval system to prevent conflicts.
How It Works
Host runs
letswork startinside their project folderA secure HTTPS tunnel is created automatically via Cloudflare
A one-time URL + guest token is generated and printed
Host shares the join command with the guest
Guest runs
letswork join <url> --token <token>on their machineBoth developers now have Claude Code connected to the same codebase
Related MCP server: pairwave
Requirements
Requirement | macOS | Windows (WSL) |
Python 3.10+ |
| Comes with Ubuntu WSL |
cloudflared |
| See WSL section below |
Claude Code |
|
|
Node.js |
|
|
macOS — Host Setup
The host is the developer who owns the project. You start the session and share the join command.
Step 1 — Install dependencies
brew install cloudflared
pip install letsworkStep 2 — Install Claude Code
npm install -g @anthropic-ai/claude-codeStep 3 — Start the session
Navigate to your project folder and run:
cd /path/to/your/project
letswork startYou will be asked for your display name, then a session box appears:
╔══════════════════════════════════════════════════════════════════════╗
║ 🤝 LetsWork Session Active ║
║ ║
║ Send this command to your collaborator: ║
║ letswork join https://abc123.trycloudflare.com --token a1b2c3d4 ║
║ ║
║ Press Ctrl+C to stop. ║
╚══════════════════════════════════════════════════════════════════════╝Copy the full letswork join ... command and send it to your collaborator.
Two new terminal windows open automatically:
Claude Code — already connected to LetsWork
A chat window to communicate with your collaborator
Step 4 — Approve guest changes
When the guest edits a file, you'll see a notification in Claude Code. Ask Claude:
get_pending_changesThen approve or reject:
approve_change <id>
reject_change <id>Step 5 — Stop the session
Press Ctrl+C in the terminal where you ran letswork start.
macOS — Guest Setup
The guest connects to the host's project. You need the join command from the host.
Step 1 — Install dependencies
brew install cloudflared
pip install letsworkStep 2 — Install Claude Code
npm install -g @anthropic-ai/claude-codeStep 3 — Join the session
Run the command the host sent you:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4You'll be asked for your display name. Then two windows open:
Claude Code — connected to the host's project
A chat window to communicate with the host
Step 4 — Edit files
Ask Claude to read and edit files normally. When you write a file, it goes into an approval queue — the host reviews it before it's written to disk. You'll get a notification when it's approved or rejected.
Windows — Guest Setup (WSL)
LetsWork runs inside WSL (Windows Subsystem for Linux). The guest experience is the same as macOS once WSL is set up.
Step 1 — Enable WSL and install Ubuntu
Open PowerShell as Administrator and run:
wsl --installRestart your computer when prompted. Ubuntu will install automatically.
Open Ubuntu from the Start menu and set up your Linux username and password.
Step 2 — Install dependencies inside Ubuntu
Open Ubuntu and run these one by one:
# 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 letsworkStep 3 — Install Claude Code inside Ubuntu
npm install -g @anthropic-ai/claude-codeStep 4 — Join the session
Run the command the host sent you, inside Ubuntu:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4You'll be asked for your display name. Claude Code launches directly in the same terminal window.
Note for Windows users: Claude Code runs in the WSL terminal — not as a separate window. Everything else works identically to macOS.
MCP Tools Available
Both host and guest have access to these tools inside Claude Code:
Tool | Who Can Use | Description |
| Both | List files and directories with lock status |
| Both | Read file contents (1MB limit, text files only) |
| Both | Submit a file change (guest changes need host approval) |
| Both | Lock a file for exclusive editing |
| Both | Release your own file lock |
| Both | Show session info, connected users, and active locks |
| Both | Quick summary of what needs attention |
| Both | Verify connection to the host MCP server |
| Guest only | Set your display name for the session |
| Guest only | View your submitted changes awaiting approval |
| Host only | View all changes awaiting approval with diffs |
| Host only | Approve a pending change and write it to disk |
| Host only | Reject a pending change |
| Host only | Force-release a stuck file lock |
Approval Flow
Guest file writes do not go directly to disk — they go through the host's approval queue:
Guest asks Claude to edit a file →
write_filesubmits the changeHost sees:
📝 guest submitted change to server.py (ID: a1b2c3)Host asks Claude:
get_pending_changes— sees a full diffHost approves:
approve_change a1b2c3→ file is written to diskOr rejects:
reject_change a1b2c3→ guest is notified
Security
Random Cloudflare subdomain — URL is unguessable
Cryptographic token — second auth layer on top of the URL
All traffic encrypted via HTTPS
Path traversal prevention — guest cannot access files outside the project root
File locks auto-expire after 30 minutes
No accounts, no signup, no persistent credentials — session ends when host stops
Constraints
Maximum 2 users per session (Host + 1 Guest)
Text files only — binary files not supported
1MB file size limit per read/write operation
Guest has no shell access — file operations only
cloudflaredmust be installed on the host machine (guest does not need it on macOS, but WSL guests do)
CLI Reference
letswork start [--port PORT] [--debug] # Start a session (default port: 8000)
letswork join <URL> --token <TOKEN> # Join a session as guestArchitecture
Host Machine:
[Project Files] ← [MCP Server :8000] ← [Cloudflare Tunnel] ← HTTPS URL
↑
Guest connects here
via stdio proxy + secret tokenThe guest connects through a stdio proxy rather than directly over HTTP — this avoids Cloudflare SSE reliability issues and gives stable MCP connectivity.
License
MIT — see LICENSE
Built with the 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