mcpField
L
letswork

letswork

ローカル
github.com/saicharanrajoju開発ツール019 週間前に更新

letswork について

letsworkは、2人の開発者がClaude Codeで同じプロジェクトを共同編集するためのMCPサーバーです。ファイルロックとホストによるゲスト編集の承認を備え、Cloudflareトンネルで接続します。

主な機能

  1. 012人でのコードベース共有
  2. 02ファイルのロックと解除
  3. 03ゲスト編集のホスト承認
  4. 04ファイルとセッション状態のツール
  5. 05Cloudflare HTTPSトンネル

活用シーン

  1. 01離れた場所からテキストファイルを共同編集
  2. 02ゲストの変更を確認して承認
  3. 03接続ユーザーとファイルロックの確認

MCP 対応

Claude Codeにファイル操作、ロック、承認用のMCPツールを提供します。ゲストはstdioプロキシ経由でホスト上のMCPサーバーに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"saicharanrajoju-letswork": {
"command": "uvx",
"args": [
"letswork"
]
}
}
}
起動コマンドuvx letswork

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiletswork3.0.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

LetsWork

Claude Code によるリアルタイムの共同コーディング — 2 人の開発者が 1 つのコードベースを使い、それぞれが自分の Claude サブスクリプションを利用します。

1 人の開発者がセッションをホストし、もう 1 人はどこからでも参加できます。両者とも、ファイルロックと承認システムで競合を防ぎながら、同じプロジェクトに接続された Claude Code のライブウィンドウを利用できます。


仕組み

  1. ホストがプロジェクトフォルダー内で letswork start を実行します
  2. Cloudflare 経由でセキュアな HTTPS トンネルが自動的に作成されます
  3. 1 回限りの URL とゲストトークンが生成され、表示されます
  4. ホストが参加コマンドをゲストに共有します
  5. ゲストが自分のマシンで letswork join <url> --token <token> を実行します
  6. これで両方の開発者が同じコードベースに接続された Claude Code を利用できます

要件

要件macOSWindows(WSL)
Python 3.10+brew install pythonUbuntu WSL に付属
cloudflaredbrew install cloudflared下記の WSL セクションを参照
Claude Codenpm install -g @anthropic-ai/claude-codenpm install -g @anthropic-ai/claude-code(WSL 内)
Node.jsbrew install nodesudo 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 ... コマンド全体をコピーして、共同作業者に送信します。

新しいターミナルウィンドウが 2 つ自動的に開きます。

  • 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

表示名を尋ねられます。その後、ウィンドウが 2 つ開きます。

  • 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 を開き、次のコマンドを 1 つずつ実行します。

# 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両方ファイルの内容を読み取ります(1 MB の上限、テキストファイルのみ)
write_file両方ファイルの変更を送信します(ゲストの変更にはホストの承認が必要です)
lock_file両方排他的な編集のためにファイルをロックします
unlock_file両方自分が設定したファイルロックを解除します
get_status両方セッション情報、接続中のユーザー、アクティブなロックを表示します
get_notifications両方対応が必要な項目の概要をすばやく表示します
ping両方ホスト MCP サーバーへの接続を確認します
set_display_nameゲストのみセッションでの表示名を設定します
my_pending_changesゲストのみ承認待ちの送信済み変更を表示します
get_pending_changesホストのみ承認待ちのすべての変更を差分付きで表示します
approve_changeホストのみ保留中の変更を承認し、ディスクに書き込みます
reject_changeホストのみ保留中の変更を却下します
force_unlockホストのみ解除されなくなったファイルロックを強制的に解除します

承認フロー

ゲストによるファイルへの書き込みは、直接ディスクに反映されず、ホストの承認キューを経由します。

  1. ゲストが Claude にファイルの編集を依頼 → write_file が変更を送信します
  2. ホストに表示されます:📝 guest submitted change to server.py (ID: a1b2c3)
  3. ホストが Claude に get_pending_changes を依頼 → 全差分を確認します
  4. ホストが承認します:approve_change a1b2c3 → ファイルがディスクに書き込まれます
  5. または却下します:reject_change a1b2c3 → ゲストに通知されます

セキュリティ

  • ランダムな Cloudflare サブドメイン — URL は推測できません
  • 暗号化トークン — URL に加えた 2 つ目の認証レイヤー
  • すべての通信は HTTPS で暗号化されます
  • パストラバーサルを防止 — ゲストはプロジェクトのルート外にあるファイルにアクセスできません
  • ファイルロックは 30 分後に自動的に期限切れになります
  • アカウント、サインアップ、永続的な認証情報は不要 — ホストの停止時にセッションが終了します

制約

  • セッションあたり最大 2 ユーザー(ホスト + ゲスト 1 人)
  • テキストファイルのみ — バイナリファイルには対応していません
  • 読み取り/書き込み操作ごとのファイルサイズ上限は 1 MB です
  • ゲストにシェルアクセス権はありません — ファイル操作のみ可能です
  • 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 を使用して構築されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。