claude-peers-mcp
Enable multiple Claude Code instances to discover each other and exchange messages in real-time via a local broker daemon and MCP server.
Best use case
claude-peers-mcp is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Enable multiple Claude Code instances to discover each other and exchange messages in real-time via a local broker daemon and MCP server.
Teams using claude-peers-mcp should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/claude-peers-mcp/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How claude-peers-mcp Compares
| Feature / Agent | claude-peers-mcp | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Enable multiple Claude Code instances to discover each other and exchange messages in real-time via a local broker daemon and MCP server.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# claude-peers-mcp
> Skill by [ara.so](https://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-mcp
cd ~/claude-peers-mcp
bun 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 ~/.zshrc
alias claudepeers='claude --dangerously-load-development-channels server:claude-peers'
```
The broker daemon starts automatically on first use. No manual daemon management needed.
## Requirements
- [Bun](https://bun.sh) 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
| Tool | Description |
|---|---|
| `list_peers` | Discover other Claude Code instances; scope: `machine`, `directory`, or `repo` |
| `send_message` | Send a message to a peer by ID — delivered instantly via channel push |
| `set_summary` | Set a description of what this instance is working on |
| `check_messages` | Manually 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 peers
bun cli.ts status
# List peers in a table
bun cli.ts peers
# Send a message into a specific Claude session
bun cli.ts send <peer-id> "your message here"
# Stop the broker daemon
bun cli.ts kill-broker
```
## Configuration
Set these environment variables before starting Claude Code:
| Variable | Default | Description |
|---|---|---|
| `CLAUDE_PEERS_PORT` | `7899` | Port the broker listens on |
| `CLAUDE_PEERS_DB` | `~/.claude-peers.db` | Path to the SQLite database |
| `OPENAI_API_KEY` | — | Enables auto-summary via `gpt-4o-mini` on startup |
```bash
export CLAUDE_PEERS_PORT=7899
export CLAUDE_PEERS_DB=~/.claude-peers.db
export 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/backend
claudepeers
# Terminal 2 — in ~/projects/frontend
claudepeers
```
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 script
PEER_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 7899
lsof -i :7899
# Kill a stuck broker and restart
bun ~/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.db
bun ~/claude-peers-mcp/cli.ts kill-broker
```
**MCP server not found after registration**
```bash
# Verify registration
claude mcp list
# Re-register if missing
claude mcp add --scope user --transport stdio claude-peers -- bun ~/claude-peers-mcp/server.ts
```Related Skills
web-access-claude-skill
Give Claude Code full internet access with three-layer channel dispatch, CDP browser automation, and parallel sub-agent task splitting
token-dashboard-claude-analytics
Local token cost analytics dashboard for Claude Code sessions — reads JSONL transcripts and provides per-prompt cost breakdowns, heatmaps, and usage insights.
openclaude-multi-llm
Use Claude Code's full tool system with any OpenAI-compatible LLM — GPT-4o, DeepSeek, Gemini, Ollama, and 200+ models via environment variable configuration.
oh-story-claudecode-writing
网文写作 skill 包,覆盖长篇与短篇网络小说的扫榜、拆文、写作、去AI味全流程
holyclaude-ai-workstation
Deploy a full AI coding workstation with Claude Code, web UI, headless browser, and 5 AI CLIs in a single Docker container
free-code-claude-cli
Build and use free-code, the open-source fork of Claude Code CLI with telemetry removed, guardrails stripped, and all experimental features unlocked.
everything-claude-code-harness
Agent harness performance system for Claude Code and other AI coding agents — skills, instincts, memory, hooks, commands, and security scanning
deepclaude-proxy
Use Claude Code's autonomous agent loop with DeepSeek V4 Pro, OpenRouter, or any Anthropic-compatible backend at up to 17x lower cost.
codeburn-claude-cost-dashboard
Interactive TUI dashboard for visualizing Claude Code token usage, costs, and task breakdowns by project, model, and activity type.
clui-cc-claude-overlay
Command Line User Interface for Claude Code — a floating macOS desktop overlay with multi-tab sessions, permission approval UI, voice input, and skills marketplace.
clawgod-claude-code-patch
Runtime patch for Claude Code that unlocks hidden features, removes restrictions, and enables advanced capabilities like multi-agent swarms and computer use.
claude-skill-app-onboarding-questionnaire
Claude Code skill that designs and builds high-converting questionnaire-style app onboarding flows modelled on proven conversion patterns from top subscription apps like Noom, Headspace, and Duolingo.