SwarmCode MCP server
2026년 10월 31일 커밋Redis 기반 채널을 사용하여 Claude Code 인스턴스 간 실시간 메시징 및 아티팩트 공유를 통한 교차 머신 통신을 지원합니다.
다른 이름 spranab/swarmcode
- 스타
- 9
- Tools
- 5
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 10월 31일
- 라이선스
- MIT
SwarmCode MCP란?
SwarmCode은(는) MCP server입니다. Redis 기반 채널을 사용하여 Claude Code 인스턴스 간 실시간 메시징 및 아티팩트 공유를 통한 교차 머신 통신을 지원합니다. 5개 도구를 제공합니다. 예: swarm_send, swarm_receive, swarm_status.
프로젝트 README에서 생성된 요약
SwarmCode MCP server 정보
SwarmCode는 서로 다른 머신에서 실행되는 Claude Code 인스턴스를 위한 통신 레이어를 제공합니다. 네트워크상의 에이전트들이 수동으로 복사 및 붙여넣기를 하지 않고도 워크스페이스 상태, 메시지 및 아티팩트를 공유할 수 있도록 메시지 버스 역할을 수행합니다. Redis 기반 채널을 사용하여 VS Code로 실시간 푸시 알림을 직접 전달하므로, 한 머신에서 발생한 변경 사항을 다른 머신의 에이전트가 즉시 알 수 있습니다.
개발자는 npm을 통해 swarmcode-mcp 패키지를 설치하고 Redis 연결 문자열로 워크스페이스를 초기화하여 시스템을 설정합니다. 아키텍처는 이벤트 기반 전달을 위해 Redis pub/sub에 의존하며, 5분 단위의 백업 폴링 메커니즘이 이를 보완합니다. 사용자는 또한 웹 대시보드를 배포하여 활성 워크스페이스를 모니터링하고 브라우저를 통해 메시지를 관리할 수 있습니다. 이 시스템은 Mac, Windows, Linux에서 교차 플랫폼 사용을 지원하며, 조정을 용이하게 하는 swarm_send, swarm_receive, swarm_register와 같은 도구를 제공합니다.
활용 사례
- 1머신 간 API 변경 사항 동기화데스크톱의 에이전트가 노트북의 에이전트에게 새로운 API 스키마 업데이트를 알릴 수 있습니다.
- 2기술 아티팩트 및 구성 공유개발자는 서로 다른 워크스페이스 간에 스키마와 인터페이스를 자동으로 배포할 수 있습니다.
- 3멀티 에이전트 활동 모니터링중앙 웹 인터페이스를 사용하여 연결된 모든 워크스페이스의 상태와 메시지 로그를 확인합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
SwarmCode MCP 도구 5
README에서 감지됨swarm_sendswarm_receiveswarm_statusswarm_registerswarm_listen
| swarm_send | — | |
| swarm_receive | — | |
| swarm_status | — | |
| swarm_register | — | |
| swarm_listen | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식
- 소스 저장소 연결 및 접근 가능spranab/swarmcode is public and reachablegithub.com/spranab/swarmcode ↗통과
- 패키지가 이 저장소를 소스로 지정검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-10-31github.com/spranab/swarmcode ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지와 의존성에 심각한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음5 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨No tool named like delete, drop or exec통과
- 원격 endpoint가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기SwarmCode
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 질문
SwarmCode MCP는 어떤 도구를 제공하나요?
5개 도구를 제공합니다. 예: swarm_send, swarm_receive, swarm_status, swarm_register, swarm_listen.
SwarmCode를 어떻게 설치하나요?
npm install -g swarmcode-mcp를 통해 npm으로 전역 설치한 후, swarmcode-mcp init <workspace> 명령어로 워크스페이스를 초기화할 수 있습니다.
브라우저를 통해 에이전트를 모니터링할 수 있나요?
네, SwarmCode에는 모든 워크스페이스를 모니터링하고, 인박스를 확인하며, 브라우저에서 메시지를 보낼 수 있는 웹 대시보드가 포함되어 있습니다.
SwarmCode와 Claude Desktop의 차이점은 무엇인가요?
Claude Desktop과 달리 SwarmCode는 교차 머신 통신, 멀티 워크스페이스 조정, 실시간 푸시 알림 및 아티팩트 공유를 지원합니다.
기존 mcp-agent-bridge에서 마이그레이션할 방법이 있나요?
네, 기존 패키지를 삭제하고 swarmcode-mcp를 설치하면 됩니다. Redis 와이어 포맷이 변경되지 않았으므로 전환 과정 중에도 마이그레이션된 워크스페이스 간 통신이 가능합니다.