io.github.saicharanrajoju/letswork
LetsWork
Совместное программирование в реальном времени через Claude Code — два разработчика, одна кодовая база, каждый со своей подпиской Claude.
Один разработчик выступает хостом сессии. Другой подключается откуда угодно. Оба получают окно Claude Code в реальном времени, подключенное к одному и тому же проекту — с блокировкой файлов и системой одобрения для предотвращения конфликтов.
Как это работает
Хост запускает
letswork startв своей папке проектаБезопасный HTTPS-туннель автоматически создается через Cloudflare
Генерируются и выводятся одноразовый URL и гостевой токен
Хост отправляет гостю команду подключения
Гость запускает
letswork join <url> --token <token>на своей машинеТеперь у обоих разработчиков Claude Code подключен к одной и той же кодовой базе
Related MCP server: pairwave
Требования
Требование | macOS | Windows (WSL) |
Python 3.10+ |
| Поставляется с Ubuntu WSL |
cloudflared |
| См. раздел о WSL ниже |
Claude Code |
|
|
Node.js |
|
|
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 — Завершение сессии
Нажмите Ctrl+C в терминале, где вы запускали letswork start.
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 для 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 — Установка Claude Code в Ubuntu
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:
Инструмент | Кто может использовать | Описание |
| Оба | Показывает файлы и каталоги со статусом блокировки |
| Оба | Читает содержимое файла (лимит 1 МБ, только текстовые файлы) |
| Оба | Отправляет изменение файла (изменения гостя требуют одобрения хоста) |
| Оба | Блокирует файл для монопольного редактирования |
| Оба | Снимает вашу собственную блокировку файла |
| Оба | Показывает информацию о сессии, подключенных пользователях и активных блокировках |
| Оба | Краткая сводка того, что требует внимания |
| Оба | Проверяет подключение к MCP-серверу хоста |
| Только гость | Устанавливает ваше отображаемое имя для сессии |
| Только гость | Просматривает ваши отправленные изменения, ожидающие одобрения |
| Только хост | Просматривает все ожидающие изменения с диффами |
| Только хост | Одобряет ожидающее изменение и записывает его на диск |
| Только хост | Отклоняет ожидающее изменение |
| Только хост | Принудительно снимает зависшую блокировку файла |
Процесс одобрения
Запись файлов гостем не происходит напрямую на диск — изменения проходят через очередь одобрения хоста:
Гость просит Claude отредактировать файл →
write_fileотправляет изменениеХост видит:
📝 guest submitted change to server.py (ID: a1b2c3)Хост просит Claude:
get_pending_changes— видит полный диффХост одобряет:
approve_change a1b2c3→ файл записывается на дискИли отклоняет:
reject_change a1b2c3→ гость получает уведомление
Безопасность
Случайный поддомен Cloudflare — URL невозможно угадать
Криптографический токен — второй уровень аутентификации в дополнение к URL
Весь трафик зашифрован через HTTPS
Защита от обхода каталогов — гость не может получить доступ к файлам за пределами корня проекта
Блокировки файлов автоматически истекают через 30 минут
Никаких аккаунтов, регистрации и постоянных учетных данных — сессия завершается, когда хост останавливает её
Ограничения
Максимум 2 пользователя на сессию (хост + 1 гость)
Только текстовые файлы — бинарные файлы не поддерживаются
Ограничение размера файла 1 МБ на операцию чтения/записи
У гостя нет доступа к командной оболочке — только операции с файлами
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Гость подключается через stdio-прокси, а не напрямую по HTTP — это позволяет избежать проблем с надежностью 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.
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