SwarmCode MCP server
Commit Oct 31, 2026Enables cross-machine communication between Claude Code instances using a Redis-backed channel for real-time messaging and artifact sharing.
Also known as spranab/swarmcode
- Stars
- 9
- Tools
- 5
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Oct 31, 2026
- License
- MIT
What is SwarmCode MCP?
SwarmCode enables cross-machine communication between Claude Code instances using a Redis-backed channel for real-time messaging and artifact sharing. It exposes 5 tools, such as swarm_send, swarm_receive, swarm_status.
Summary generated from the project's README
About SwarmCode MCP server
SwarmCode provides a communication layer for Claude Code instances running on different machines. It functions as a message bus that allows agents on a network to share workspace status, messages, and artifacts without manual copy-pasting. By using a Redis-backed channel, the server enables real-time push notifications directly into VS Code, ensuring that changes made on one machine are immediately known to agents on others.
Developers set up the system by installing the swarmcode-mcp package via npm and initializing a workspace with a Redis connection string. The architecture relies on Redis pub/sub for event-driven delivery, supplemented by a five-minute backup polling mechanism. Users can also deploy a web dashboard to monitor active workspaces and manage messages through a browser. The system supports cross-platform use on Mac, Windows, and Linux, offering tools like swarm_send, swarm_receive, and swarm_register to facilitate coordination.
What you can do with it
- 1Synchronize API changes across machinesAn agent on a desktop can notify an agent on a laptop about a new API schema update.
- 2Share technical artifacts and configurationsDevelopers can distribute schemas and interfaces between different workspaces automatically.
- 3Monitor multi-agent activityUse a central web interface to view the status and message logs of all connected workspaces.
Written from the project's README. Every use case is checked against a quote from it.
SwarmCode MCP tools 5
Detected from the READMEswarm_sendswarm_receiveswarm_statusswarm_registerswarm_listen
| swarm_send | — | |
| swarm_receive | — | |
| swarm_status | — | |
| swarm_register | — | |
| swarm_listen | — |
Automated checks
Ran Nov 14, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work
- Source repository linked and reachablespranab/swarmcode is public and reachablegithub.com/spranab/swarmcode ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-10-31github.com/spranab/swarmcode ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model5 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubSwarmCode
Using
mcp-agent-bridge? That is the old name of this project and it no longer gets updates. Switch withnpm uninstall -g mcp-agent-bridge && npm install -g swarmcode-mcp, then re-runswarmcode-mcp init <workspace>. Same Redis, same protocol; the tools are nowswarm_*instead ofbridge_*. See Migrating from mcp-agent-bridge.
Two Claude Code instances can't talk to each other. The one on your desktop that just changed the API schema has no way to tell the one on your laptop that's writing the client against it — so you copy-paste between windows and act as the message bus yourself.
SwarmCode is that message bus. Agents on any machine on your network join a Redis-backed channel and send each other messages, artifacts, and workspace status, delivered as real-time push into VS Code — no polling, no manual relay.
Desktop (VS Code) Laptop (VS Code) Server
Claude A ───────────────── Claude B ───────────────── Claude C
\ | /
-------- Redis (single instance) ------------
|
Web Dashboard
(monitor & control)
Install (60 seconds)
npm install -g swarmcode-mcp
# Redis, if you don't already have one
docker run -d --name redis -p 6379:6379 redis:alpine
swarmcode-mcp init my-workspace --redis redis://your-redis:6379
Restart Claude Code. Repeat on every other machine, all pointing at the same Redis. That's the whole setup.
What it looks like
Desktop (building the API):
> swarm_register("Building user auth REST API")
> swarm_send(to: "laptop", type: "info",
content: "POST /api/users is live, schema: {id, email, role}")
Laptop — the message arrives as a task-notification while its agent is mid-task:
[task-notification] New message from "desktop": POST /api/users is live...
> swarm_receive()
> swarm_send(to: "desktop", type: "question",
content: "Does /api/users support pagination?")
Desktop, instantly:
[task-notification] New message from "laptop": Does /api/users support pagination?
> swarm_receive()
> swarm_send(to: "laptop", type: "answer", content: "Yes, use ?page=1&limit=20")
No user in the loop. A terminal recording of the same exchange is in
demo/demo.cast (asciinema play demo/demo.cast).
What Can It Do?
- Cross-machine messaging — Claude on your desktop sends a message, Claude on your laptop receives it instantly
- Real-time push — no polling, messages delivered via Redis pub/sub + background task notifications
- Workspace awareness — every agent knows what the others are working on
- Artifact sharing — share schemas, configs, interfaces across workspaces
- Web dashboard — monitor all workspaces, send messages from your browser
- Auto-setup — one command initializes any workspace
vs Claude Desktop
| Claude Desktop | SwarmCode | |
|---|---|---|
| Cross-machine communication | No | Yes |
| Multi-workspace coordination | No — each window isolated | Yes — agents talk to each other |
| Real-time push notifications | No | Yes |
| Artifact/schema sharing | No | Yes |
| Web dashboard | No | Yes |
| Works in VS Code | No | Yes |
| Cross-platform | Mac only | Mac, Windows, Linux |
| Open source | No | Yes (MIT) |
How It Works
Real-time message loop
1. Background listener subscribes to Redis pub/sub channel
2. Message arrives → listener exits → task-notification fires in VS Code
3. Claude reads the message → swarm_receive() → swarm_send() reply
4. New listener started → back to step 1
No polling. No cron. True event-driven push in VS Code.
Per-workspace isolation
swarmcode:ws:desktop-api ← only desktop-api hears this
swarmcode:ws:laptop-frontend ← only laptop-frontend hears this
swarmcode:ws:broadcast ← everyone hears this (to="*")
Backup polling
A 5-minute CronCreate runs alongside the listener as a safety net.
Tools
| Tool | Description |
|---|---|
swarm_send |
Send a message to a workspace or broadcast (to: "*") |
swarm_receive |
Read and mark pending messages as read |
swarm_status |
See all registered workspaces |
swarm_register |
Register/update this workspace's description |
swarm_listen |
Long-running task that completes when the next message arrives |
Web Dashboard
Monitor and control all workspaces from your browser.
docker run -d -p 4200:4200 \
-e SWARMCODE_REDIS_URL=redis://your-redis:6379 \
-e DASHBOARD_USER=admin \
-e DASHBOARD_PASS=your-password \
ghcr.io/spranab/swarmcode-dashboard:latest
Features:
- All workspaces with active/idle status
- Per-workspace inbox viewer
- Global message log (real-time via SSE)
- Send messages to any workspace
- Dark theme
Architecture
src/
├── channel.js # MCP server — tools + Redis pub/sub + instructions
├── listener.js # One-shot Redis listener → task-notification push
├── check-inbox-http.js # UserPromptSubmit hook — inbox check on each prompt
├── init.js # CLI — one-command workspace setup
└── server.js # CLI entry point
dashboard/
├── server.js # Express app with SSE, basic auth, REST API
└── index.html # Real-time dashboard UI
Configuration
| Variable | Default | Description |
|---|---|---|
SWARMCODE_REDIS_URL |
redis://localhost:6379 |
Redis connection |
SWARMCODE_WORKSPACE_ID |
(from .mcp.json) | Workspace identifier |
DASHBOARD_USER |
admin |
Dashboard username |
DASHBOARD_PASS |
bridge |
Dashboard password |
DASHBOARD_PORT |
4200 |
Dashboard port |
Kubernetes
Redis + Dashboard manifests in k8s/:
kubectl apply -f k8s/namespace.yml
kubectl apply -f k8s/redis.yml # includes NodePort on 30379
kubectl apply -f k8s/dashboard.yml
kubectl apply -f k8s/ingress.yml # edit hostname
Built With
- Model Context Protocol (MCP) — tool interface
- Redis — pub/sub + message storage
- ioredis — Redis client
- Claude Code — the agents
Migrating from mcp-agent-bridge
SwarmCode was published as mcp-agent-bridge until the rename. The old
package still works but is frozen — new features and fixes only land in
swarmcode-mcp.
npm uninstall -g mcp-agent-bridge
npm install -g swarmcode-mcp
swarmcode-mcp init my-workspace --redis redis://your-redis:6379
What changes:
Old (mcp-agent-bridge) |
New (swarmcode-mcp) |
|---|---|
bridge_send / bridge_receive / bridge_register |
swarm_send / swarm_receive / swarm_register |
AGENT_BRIDGE_REDIS_URL |
SWARMCODE_REDIS_URL |
AGENT_BRIDGE_WORKSPACE_ID |
SWARMCODE_WORKSPACE_ID |
binary mcp-agent-bridge |
binary swarmcode / swarmcode-mcp |
The old AGENT_BRIDGE_* environment variables are still read as a fallback,
and the Redis wire format is unchanged, so a migrated workspace can talk to a
not-yet-migrated one during the switchover. Re-running init rewrites the
workspace's .mcp.json entry and hooks for you.
Related projects
Other agent infrastructure by the same author, built to be used together:
- saga-mcp — SQLite-backed project tracker so a swarm of agents shares one plan.
- yantrikdb-mcp — persistent cognitive memory across sessions and machines.
- brainstorm-mcp — multi-model debate as an MCP tool.
- mcpier — self-hosted MCP control plane that keeps API keys off your clients.
License
MIT — Pranab Sarkar
SwarmCode MCP questions
What tools does SwarmCode MCP provide?
It exposes 5 tools, including swarm_send, swarm_receive, swarm_status, swarm_register, swarm_listen.
How do I install SwarmCode?
You can install it globally via npm using npm install -g swarmcode-mcp and then initialize your workspace with swarmcode-mcp init <workspace>.
Can I monitor my agents through a browser?
Yes, SwarmCode includes a web dashboard that allows you to monitor all workspaces, view inboxes, and send messages from your browser.
What is the difference between SwarmCode and Claude Desktop?
Unlike Claude Desktop, SwarmCode supports cross-machine communication, multi-workspace coordination, real-time push notifications, and artifact sharing.
Is there a way to migrate from the old mcp-agent-bridge?
Yes, you can uninstall the old package and install swarmcode-mcp; the Redis wire format is unchanged so migrated workspaces can still communicate during the switchover.