🔁

Claude Code同士が会話できるようになったらしいので試してみた

に公開

claude-peers-mcp というMCPサーバーを使うと、同じPC上の複数のClaude Codeセッションがお互いを発見して、メッセージを送り合えるらしい。

面白そうなので手元のWindows環境で試してみました。
いくつかハマったポイントと合わせて共有します。

こうなる

最終的にはこんな感じで、2つのClaude Codeセッションが会話できるようになりました。

前提条件

  • Windows 10/11
  • Claude Code v2.1.80 以上 (claude --version で確認)
  • claude.ai でログイン済み (API key 認証は非対応)
  • Git インストール済み

セットアップ手順

1. Bun をインストールする

claude-peers-mcpはBunで動くので、まずBunを入れる。

PowerShellで:

powershell -c "irm bun.sh/install.ps1|iex"

入れたらPowerShellをいったん閉じて開き直す(PATH反映のため)。

bun --version

バージョンが出ればOK。

2. claude-peers-mcp をダウンロードする

New-Item -ItemType Directory -Force C:\tools | Out-Null
cd C:\tools
git clone https://github.com/louislva/claude-peers-mcp.git
cd C:\tools\claude-peers-mcp
bun install

3. Bun のフルパスを確認する

後の手順で必要になるので控えておく。

where bun

だいたい C:\Users\<ユーザー名>\.bun\bin\bun.exe にある。

4. Claude Code に MCP サーバーとして登録する

ここが一番ハマった。 READMEに書いてある方法をいくつか試したけど、Windowsだとそのままじゃ動かなかった。

試して失敗した方法

その1: claude mcp add コマンド

# READMEに書いてあるやり方。Windowsだと動かなかった
claude mcp add --scope user --transport stdio claude-peers -- bun C:\tools\claude-peers-mcp\server.ts

claude mcp list で確認すると Failed to connect。MCPサーバー起動時のプロセスにBunのPATHが通ってなかった。

その2: ~/.claude/settings.json に書く

// settings.json の mcpServers に追加してみたけど認識されず
"mcpServers": {
  "claude-peers": {
    "command": "bun",
    "args": ["server.ts"],
    "cwd": "C:\\tools\\claude-peers-mcp"
  }
}

その3: ~/.claude.json にフルパス + cwd

// Bunのフルパスにしてみたけど、cwd が効かなかった
"claude-peers": {
  "type": "stdio",
  "command": "C:\\Users\\<ユーザー名>\\.bun\\bin\\bun.exe",
  "args": ["server.ts"],
  "cwd": "C:\\tools\\claude-peers-mcp"
}

フルパスにしても cwd が効かず、やっぱり Failed to connect

最終的に動いた方法

C:\Users\<ユーザー名>\.claude.json を直接編集して、トップレベルの "mcpServers" に以下を追加する:

"claude-peers": {
  "type": "stdio",
  "command": "cmd",
  "args": [
    "/c",
    "cd /d C:\\tools\\claude-peers-mcp && C:\\Users\\<ユーザー名>\\.bun\\bin\\bun.exe server.ts"
  ]
}

<ユーザー名> は自分の環境に合わせて書き換えること。

登録できたか確認:

claude mcp list

claude-peers: bun ./server.ts - ✓ Connected

claude-peersConnected になってれば成功。

動かしてみる

Claude Code を2つ起動する

別々のターミナルで以下のコマンドで起動する

claude --dangerously-load-development-channels server:claude-peers

セッション一覧を確認する

片方のセッションでこう聞いてみる:

今このマシンで動いているClaudeセッションを一覧で出して

もう片方のセッションが表示されれば接続成功。

ただ、MCPサーバーのbrokerプロセスもpeerとして出てくるので、そのままだとどれがどれか分かりにくい。

各セッションに名前をつける

set_summary で名前をつけると区別しやすくなる。

左画面のセッションで:

set_summaryを「ClaudeCode君(左画面)」に設定して

右画面のセッションで:

set_summaryを「ClaudeCode君(右画面)」に設定して

もう一度一覧を見ると、summaryつきで表示されるようになる。

これでどれがどのセッションかすぐ分かる。

メッセージを送り合う

左画面から右画面にメッセージを送ってみる:

ClaudeCode君(右画面)にご挨拶して

すると右画面に即座にメッセージが届いて、自動的に返事が返ってきた:

ちゃんと双方向で会話できてる。

コマンド一覧

セットアップが終わったら、Claude Codeのセッション内で自然言語で依頼するだけ。裏側でMCPツールが呼ばれる。使えるのは主に4つ。

peer 一覧を確認する(list_peers)

今このマシンで動いている他のClaudeセッションを一覧で出して

スコープも指定できる:

スコープ 説明 依頼例
machine このPC上の全セッション(デフォルト) 「このマシンのセッション一覧を出して」
directory 同じ作業ディレクトリ 「同じディレクトリのセッションを出して」
repo 同じGitリポジトリ 「同じリポジトリのセッションを出して」

自分に名前をつける(set_summary)

set_summaryを「バックエンド担当」に設定して

他のセッションから list_peers したときにこの名前が出る。起動したらまず設定しておくと楽。

メッセージを送る(send_message)

peer [id] に「認証APIの実装終わったよ」と送って

peer IDは list_peers で確認できる。名前をつけてあれば、名前で指定しても伝わる:

ClaudeCode君(右画面)に「こんにちは!」と送って

メッセージを手動で確認する(check_messages)

新しいメッセージが届いていないか確認して

普通はリアルタイムで自動的に届くけど、届いてないときに使える。

Accenture Japan (有志)

Discussion