Claude Peers Mcp

by reason-machines2384a003145aNo license83 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 3 months ago

Enable multiple Claude Code instances to discover each other and exchange messages in real-time via a local broker daemon and MCP server.

Instructions onlyAI & Agents
AI-generated overview

Sets up an MCP server and local broker so multiple Claude Code sessions can discover each other and exchange messages.

What it does
This skill documents installing and configuring claude-peers, an MCP server that lets Claude Code instances on the same machine find each other and send messages in real time. A local broker daemon using SQLite and HTTP on localhost handles peer registration and message routing, while each session's MCP server pushes inbound messages into the Claude channel. It also covers CLI commands for inspecting peers, sending messages, and stopping the broker, plus configuration and troubleshooting.
When to use it
Use it when you want several Claude Code sessions on one machine to coordinate, for example across projects or worktrees. It fits setups where sessions need to list peers, share what they are working on, or send tasks and questions to each other.
Requirements
Requires the Bun runtime, Claude Code v2.1.80 or later, and a claude.ai login because channels do not work with API key authentication. It uses a local broker on localhost port 7899 with a SQLite database, and optionally an OpenAI API key for auto-summary. The skill is instructions only and ships no scripts.

claude-peers-mcp

Skill by ara.so — Daily 2026 Skills collection.

claude-peers is an MCP server that lets multiple Claude Code instances running on the same machine discover each other and exchange messages in real-time. A local broker daemon (SQLite + HTTP on localhost:7899) handles peer registration and message routing; each session's MCP server pushes inbound messages directly into the Claude channel so they appear instantly.

Installation

1. Clone and install dependencies

bash
git clone https://github.com/louislva/claude-peers-mcp.git ~/claude-peers-mcpcd ~/claude-peers-mcpbun install

2. Register as a global MCP server

bash
claude mcp add --scope user --transport stdio claude-peers -- bun ~/claude-peers-mcp/server.ts

Adjust the path if you cloned elsewhere.

3. Launch Claude Code with the channel enabled

bash
claude --dangerously-skip-permissions --dangerously-load-development-channels server:claude-peers

Add a shell alias to avoid typing it every time:

bash
# ~/.bashrc or ~/.zshrcalias claudepeers='claude --dangerously-load-development-channels server:claude-peers'

The broker daemon starts automatically on first use. No manual daemon management needed.

Requirements

  • Bun runtime
  • Claude Code v2.1.80+
  • claude.ai login (channels require it — API key auth does not work)

Architecture

                    ┌───────────────────────────┐                    │  broker daemon            │                    │  localhost:7899 + SQLite  │                    └──────┬───────────────┬────┘                           │               │                      MCP server A    MCP server B                      (stdio)         (stdio)                           │               │                      Claude A         Claude B
  • Each Claude Code session spawns its own server.ts MCP process over stdio
  • MCP servers register with the broker and poll every second
  • Inbound messages are pushed via the claude/channel protocol for instant delivery
  • The broker auto-cleans dead peers and is localhost-only

MCP Tools Reference

ToolDescription
list_peersDiscover other Claude Code instances; scope: machine, directory, or repo
send_messageSend a message to a peer by ID — delivered instantly via channel push
set_summarySet a description of what this instance is working on
check_messagesManually poll for messages (fallback without channel mode)

Example prompts to Claude

List all peers on this machine
Send a message to peer abc123: "what files are you editing right now?"
Set your summary to: "refactoring the authentication module"
Check for any new messages from peers

CLI Usage

Inspect and interact with the broker directly from the terminal:

bash
cd ~/claude-peers-mcp
# Show broker status and all registered peersbun cli.ts status
# List peers in a tablebun cli.ts peers
# Send a message into a specific Claude sessionbun cli.ts send <peer-id> "your message here"
# Stop the broker daemonbun cli.ts kill-broker

Configuration

Set these environment variables before starting Claude Code:

VariableDefaultDescription
CLAUDE_PEERS_PORT7899Port the broker listens on
CLAUDE_PEERS_DB~/.claude-peers.dbPath to the SQLite database
OPENAI_API_KEY—Enables auto-summary via gpt-4o-mini on startup
bash
export CLAUDE_PEERS_PORT=7899export CLAUDE_PEERS_DB=~/.claude-peers.dbexport OPENAI_API_KEY=$OPENAI_API_KEY  # optional — enables auto-summary

Auto-Summary Feature

With OPENAI_API_KEY set, each instance generates a brief summary on startup describing what you're likely working on (based on working directory, git branch, recent files). Other peers see this in list_peers output. Without the key, Claude sets its own summary via set_summary.

Common Patterns

Cross-project coordination

Start two sessions in different project directories:

bash
# Terminal 1 — in ~/projects/backendclaudepeers
# Terminal 2 — in ~/projects/frontendclaudepeers

Ask Claude in Terminal 1:

List peers scoped to machine, then ask the peer in the frontend project what API endpoints it needs

Scope-filtered peer discovery

List peers scoped to repo

Shows only instances running in the same git repository — useful when you have worktrees or split terminals on the same codebase.

Scripted message injection via CLI

bash
# Inject a task into a running Claude session from a shell scriptPEER_ID=$(bun ~/claude-peers-mcp/cli.ts peers | grep 'backend' | awk '{print $1}')bun ~/claude-peers-mcp/cli.ts send "$PEER_ID" "run the test suite and report failures"

Polling fallback (no channel mode)

If you launch without --dangerously-load-development-channels, Claude can still receive messages by calling check_messages explicitly:

Check for any new peer messages

Troubleshooting

Broker not starting

bash
# Check if something is already on port 7899lsof -i :7899
# Kill a stuck broker and restartbun ~/claude-peers-mcp/cli.ts kill-broker# Then relaunch Claude Code

Peers not appearing in list_peers

  • Ensure both sessions were started with --dangerously-load-development-channels server:claude-peers
  • Confirm both use the same CLAUDE_PEERS_PORT (default 7899)
  • Run bun cli.ts status to verify the broker sees both registrations

Messages not arriving instantly

  • Channel push requires claude.ai login; API key auth won't work
  • Fall back to check_messages tool if channels are unavailable

Auto-summary not generating

  • Verify OPENAI_API_KEY is exported in the shell where Claude Code was launched: echo $OPENAI_API_KEY
  • The feature uses gpt-4o-mini; confirm your key has access

Database issues

bash
# Reset the database entirely (all peers/messages lost)rm ~/.claude-peers.dbbun ~/claude-peers-mcp/cli.ts kill-broker

MCP server not found after registration

bash
# Verify registrationclaude mcp list
# Re-register if missingclaude mcp add --scope user --transport stdio claude-peers -- bun ~/claude-peers-mcp/server.ts

Source and attribution

Source:reason-machines/trending-skillsinskills/claude-peers-mcpat commit2384a00

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

Claude Peers Mcp Agent Skill | SourceWeft