SwarmCode MCPサーバー
コミット 2026年10月31日Redisをバックエンドとしたチャネルを利用して、Claude Codeインスタンス間でのリアルタイムなメッセージングとアーティファクト共有、およびマシンを跨いだ通信を可能にします。
別名 spranab/swarmcode
- スター
- 9
- ツール
- 5
- ダウンロード数(30日間)
- —
- 最新バージョン
- —
- 最終コミット
- 2026年10月31日
- ライセンス
- MIT
SwarmCode MCPとは
SwarmCodeはMCPサーバーです。 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スキーマの更新についてノートPC上のエージェントに通知できます。
- 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のワイヤフォーマットは変更されていないため、移行中のワークスペース間でも引き続き通信が可能です。