hub-bus
README.md
# @claude-max-agent/hub-bus
**hub-bus MCP ブローカー** — claude-agent-hub から切り出した独立パッケージ。
agent-herd および claude-agent-hub の両プロジェクトが共有する MCP(Model Context Protocol)ブローカー。
Manager ↔ Lead 間のローカル通信路として機能する。
## アーキテクチャ
```
Manager (Claude Code)
├── hub-claude-transport.ts ← MCP stdio サーバー (Claude 用)
│ └── hub-bus-broker.ts ← 独立 HTTP ブローカーデーモン (:9100)
│ └── hub-core.ts ← コアロジック (inbox / peer registry)
└── hub-codex-transport.ts ← Codex 向け pull 型 inbox
Lead (Claude Code)
└── hub-claude-transport.ts ← MCP stdio サーバー (:9101, :9102, ...)
```
## ファイル構成
| ファイル | 役割 |
|---------|------|
| `hub-bus.ts` | エントリーポイント(transport 分岐) |
| `hub-bus-broker.ts` | HTTP ブローカーデーモン(per-agent / central モード) |
| `hub-core.ts` | コアロジック・型定義・設定パーサー |
| `hub-claude-transport.ts` | Claude Code 向け MCP stdio サーバー |
| `hub-codex-transport.ts` | Codex 向け pull 型 inbox MCP サーバー |
| `hub-notification.ts` | Claude channel 通知ルーティング |
## 使い方
### bun 直接実行
```bash
bun hub-bus.ts
```
### MCP サーバーとして設定(.mcp.json)
```json
{
"mcpServers": {
"hub-bus": {
"command": "bun",
"args": ["/path/to/hub-bus.ts"],
"env": {
"HUB_BUS_PORT": "9100",
"HUB_BUS_ROLE": "manager",
"HUB_BUS_CENTRAL": "true",
"HUB_BUS_BROKER_URL": "http://127.0.0.1:9100",
"HUB_BUS_AGENT_ID": "manager"
}
}
}
}
```
### パッケージとして依存追加
```bash
# bun の場合
bun add github:claude-max-agent/hub-bus
```
## 環境変数
| 変数 | 説明 | 既定値 |
|------|------|--------|
| `HUB_BUS_PORT` | ブローカーポート | `9100` |
| `HUB_BUS_ROLE` | エージェント役割 (`manager`/`lead`/`resident`) | `lead` |
| `HUB_BUS_TRANSPORT` | トランスポート種別 (`claude`/`codex`) | `claude` |
| `HUB_BUS_TEAM_ID` | Lead チーム識別子 | `` |
| `HUB_BUS_CENTRAL` | セントラルモード有効化 | `false` |
| `HUB_BUS_BROKER_URL` | セントラルブローカー URL | `` |
| `HUB_BUS_AGENT_ID` | エージェント識別子 | `` |
| `HUB_BUS_PEERS` | peer URL リスト(カンマ区切り) | `` |
| `HUB_BUS_EXTRA_SENDERS` | 追加送信者許可リスト | `` |
| `HUB_BUS_STATE_DIR` | 状態ファイル保存ディレクトリ | `~/.hub-bus` |
## テスト
```bash
bun test
```
## ライセンス
MIT
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing