Skip to main content
Glama
saicharanrajoju

io.github.saicharanrajoju/letswork

LetsWork

Claude Code를 통한 실시간 협업 코딩 — 두 개발자가 하나의 코드베이스를 사용하며, 각자 자신의 Claude 구독을 사용합니다.

한 명의 개발자가 세션을 호스트합니다. 다른 개발자는 어디서든 참여합니다. 두 사람 모두 같은 프로젝트에 연결된 실시간 Claude Code 창을 얻게 됩니다 — 파일 잠금과 충돌 방지 승인 시스템을 갖추고 있습니다.


작동 방식

  1. 호스트가 프로젝트 폴더에서 letswork start를 실행합니다

  2. Cloudflare를 통해 보안 HTTPS 터널이 자동으로 생성됩니다

  3. 일회용 URL + 게스트 토큰이 생성되어 출력됩니다

  4. 호스트가 게스트와 참여 명령어를 공유합니다

  5. 게스트가 자신의 머신에서 letswork join <url> --token <token>을 실행합니다

  6. 이제 두 개발자 모두 동일한 코드베이스에 연결된 Claude Code를 사용할 수 있습니다


Related MCP server: pairwave

요구 사항

요구 사항

macOS

Windows (WSL)

Python 3.10+

brew install python

Ubuntu WSL에 포함되어 있음

cloudflared

brew install cloudflared

아래 WSL 섹션 참조

Claude Code

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

npm install -g @anthropic-ai/claude-code (WSL 내부에서)

Node.js

brew install node

sudo apt install nodejs npm (WSL 내부에서)


macOS — 호스트 설정

호스트는 프로젝트를 소유한 개발자입니다. 세션을 시작하고 참여 명령어를 공유합니다.

1단계 — 종속성 설치

brew install cloudflared
pip install letswork

2단계 — Claude Code 설치

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

3단계 — 세션 시작

프로젝트 폴더로 이동한 후 다음을 실행하세요:

cd /path/to/your/project
letswork start

표시 이름을 묻는 메시지가 나타나고, 세션 박스가 표시됩니다:

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

전체 letswork join ... 명령어를 복사하여 협업자에게 보내세요.

새 터미널 창 두 개가 자동으로 열립니다:

  • Claude Code — LetsWork에 이미 연결됨

  • 협업자와 소통하기 위한 채팅 창

4단계 — 게스트 변경 승인

게스트가 파일을 편집하면 Claude Code에 알림이 표시됩니다. Claude에게 요청하세요:

get_pending_changes

그런 다음 승인하거나 거부하세요:

approve_change <id>
reject_change <id>

5단계 — 세션 중지

letswork start를 실행한 터미널에서 Ctrl+C를 누르세요.


macOS — 게스트 설정

게스트는 호스트의 프로젝트에 연결합니다. 호스트로부터 받은 참여 명령어가 필요합니다.

1단계 — 종속성 설치

brew install cloudflared
pip install letswork

2단계 — Claude Code 설치

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

3단계 — 세션 참여

호스트가 보낸 명령어를 실행하세요:

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

표시 이름을 묻는 메시지가 나타납니다. 그런 다음 두 개의 창이 열립니다:

  • Claude Code — 호스트의 프로젝트에 연결됨

  • 호스트와 소통하기 위한 채팅 창

4단계 — 파일 편집

Claude에게 파일을 읽고 정상적으로 편집하도록 요청하세요. 파일을 작성하면 승인 대기열로 이동하며, 호스트가 디스크에 저장하기 전에 검토합니다. 승인되거나 거부되면 알림을 받게 됩니다.


Windows — 게스트 설정(WSL)

LetsWork는 WSL(Windows Subsystem for Linux) 내부에서 실행됩니다. WSL이 설정되면 게스트 경험은 macOS와 동일합니다.

1단계 — WSL 활성화 및 Ubuntu 설치

관리자 권한의 PowerShell을 열고 다음을 실행하세요:

wsl --install

메시지가 표시되면 컴퓨터를 다시 시작하세요. Ubuntu가 자동으로 설치됩니다.

시작 메뉴에서 Ubuntu를 열고 Linux 사용자 이름과 비밀번호를 설정하세요.

2단계 — Ubuntu 내부에 종속성 설치

Ubuntu를 열고 다음을 하나씩 실행하세요:

# 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

3단계 — Ubuntu 내부에 Claude Code 설치

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

4단계 — 세션 참여

Ubuntu 내부에서 호스트가 보낸 명령어를 실행하세요:

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

표시 이름을 묻는 메시지가 나타납니다. Claude Code가 동일한 터미널 창에서 바로 실행됩니다.

Windows 사용자 참고: Claude Code는 WSL 터미널에서 실행됩니다 — 별도의 창이 아닙니다. 그 외 모든 것은 macOS와 동일하게 작동합니다.


사용 가능한 MCP 도구

호스트와 게스트 모두 Claude Code 내에서 다음 도구에 접근할 수 있습니다:

도구

사용 가능 대상

설명

list_files

모두

잠금 상태와 함께 파일 및 디렉터리 목록 표시

read_file

모두

파일 내용 읽기(1MB 제한, 텍스트 파일만)

write_file

모두

파일 변경 제출(게스트 변경은 호스트 승인 필요)

lock_file

모두

독점 편집을 위해 파일 잠금

unlock_file

모두

자신의 파일 잠금 해제

get_status

모두

세션 정보, 연결된 사용자 및 활성 잠금 표시

get_notifications

모두

주의가 필요한 사항에 대한 빠른 요약

ping

모두

호스트 MCP 서버 연결 확인

set_display_name

게스트만

세션의 표시 이름 설정

my_pending_changes

게스트만

승인 대기 중인 제출된 변경 사항 보기

get_pending_changes

호스트만

diff와 함께 승인 대기 중인 모든 변경 사항 보기

approve_change

호스트만

대기 중인 변경을 승인하고 디스크에 저장

reject_change

호스트만

대기 중인 변경 거부

force_unlock

호스트만

멈춘 파일 잠금 강제 해제


승인 흐름

게스트의 파일 쓰기는 디스크에 직접 저장되지 않습니다 — 호스트의 승인 대기열을 거칩니다:

  1. 게스트가 Claude에게 파일 편집을 요청합니다 → write_file이 변경 사항을 제출합니다

  2. 호스트가 확인합니다: 📝 guest submitted change to server.py (ID: a1b2c3)

  3. 호스트가 Claude에게 요청합니다: get_pending_changes — 전체 diff를 확인합니다

  4. 호스트가 승인합니다: approve_change a1b2c3 → 파일이 디스크에 저장됩니다

  5. 또는 거부합니다: reject_change a1b2c3 → 게스트에게 알림이 전송됩니다


보안

  • 무작위 Cloudflare 하위 도메인 — URL을 추측할 수 없음

  • 암호화 토큰 — URL 위의 두 번째 인증 계층

  • 모든 트래픽은 HTTPS로 암호화됨

  • 경로 탐색 방지 — 게스트는 프로젝트 루트 외부의 파일에 접근할 수 없음

  • 파일 잠금은 30분 후 자동 만료됨

  • 계정 없음, 가입 없음, 영구 자격 증명 없음 — 호스트가 중지하면 세션이 종료됨


제약 사항

  • 세션당 최대 2명의 사용자(호스트 + 게스트 1명)

  • 텍스트 파일만 지원 — 바이너리 파일은 지원되지 않음

  • 읽기/쓰기 작업당 1MB 파일 크기 제한

  • 게스트는 셸 접근 권한이 없음 — 파일 작업만 가능

  • cloudflared호스트 머신에 설치되어 있어야 합니다(macOS의 게스트는 필요하지 않지만, WSL 게스트는 필요함)


CLI 참조

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

아키텍처

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

게스트는 HTTP를 통한 직접 연결 대신 stdio 프록시를 통해 연결합니다 — 이렇게 하면 Cloudflare SSE 안정성 문제를 피하고 안정적인 MCP 연결을 제공합니다.


라이선스

MIT — LICENSE 참조


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