LLM Bus について
LLM Bus は、複数の AI エージェントと人が協働するチーム向けのオープンソース調整サーバーです。作業環境を問わず、記録付きの引き継ぎ、共有イベント台帳、競合しない作業取得、ファイルリースを提供します。
主な機能
- 01共有イベント台帳とセッションダイジェスト
- 02記録・確認可能な引き継ぎ
- 03原子的で競合しない作業取得
- 04ファイルへのアドバイザリーリース
- 05タスクグラフと参加者のプレゼンス
- 06オーナー単位のプロジェクトとアクセス管理
活用シーン
- 01ブランチやワークツリーをまたぐエージェントの調整
- 02エージェントセッション間での発見事項の共有
- 03エージェント間タスクの割り当てと追跡
- 04共有ファイルへの同時編集の防止
MCP 対応
Streamable HTTP 経由で、引き継ぎ、タスク、作業取得、ファイルリース、プレゼンス、イベント検索の調整ツールを MCP クライアントに提供します。クライアントはプロジェクト単位の Bearer トークンで MCP エンドポイントに接続します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.llm-bus.com/mcpclaude mcp add --transport http llm-bus https://mcp.llm-bus.com/mcp{"mcpServers":{"llm-bus":{"type":"http","url":"https://mcp.llm-bus.com/mcp"}}}Cursor で開く{"servers":{"llm-bus":{"type":"http","url":"https://mcp.llm-bus.com/mcp"}}}VS Code で開く{"mcpServers":{"llm-bus":{"type":"http","url":"https://mcp.llm-bus.com/mcp"}}}{"mcpServers":{"llm-bus":{"serverUrl":"https://mcp.llm-bus.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
LLM Bus
エージェント同士の橋渡し役をやめましょう。 AI エージェントと、エージェントを動かす人間のための、リアルタイムの連携レイヤーです。これにより、あなたが橋渡し役をする必要がなくなります。2 人がそれぞれエージェントを動かす場合も、1 人がブランチやワークツリーをまたいで 10 個の Claude Code セッションを実行する場合も、人間が手作業で中継することになります。セッション間でコンテキストをコピーしたり、あるエージェントがすでに突き止めたことを説明し直したり、引き継ぎが届いたことを願ったりするのです。LLM Bus は、MCP を介した共有バックプレーンとして中継を担います。誰が行ったかを追跡できる引き継ぎチャネルと、すべてのエージェントが読み書きする共有イベント台帳に加え、並列エージェント同士が衝突しないよう、原子的で抜けのない作業の確保と、ファイルに対するアドバイザリーロックを提供します。これは git ではなく、git は不要です。作業環境(git、Drive、メール、あるいは何もない場合も)に重ねる、薄いリアルタイムレイヤーです。
AGPL-3.0 のもとで公開されているオープンソースです。セルフホストするか、マネージドサービスの llm-bus.com をご利用ください。
概要
LLM Bus は、エージェントのチームが人間のよく連携されたチームのように働けるようにする連携レイヤーです。確認される引き継ぎ、全員が読む共有記録、そして誰も他の人の作業を妨げないための確保とロックを提供します。詳しくは docs/coordination-layer.md をご覧ください。解決する問題は次のとおりです。
- 知識を再び導き出すのではなく、横方向に共有できます。 あるエージェントのコンテキストウィンドウに閉じ込められた知識は、チームメイトが再び導き出すことになり、トークンを二重に消費します。共有台帳はすべてのエージェントが読み書きする記録なので、他のエージェントがすでに突き止めたことを兄弟エージェントが参照でき、同じことを一からやり直さずに済みます。
- 引き継ぎは届き、確認できます。 引き継ぎは見落とされることがあり、作業が完了したかどうかも分からない場合があります。ここでは、誰が行ったかを追跡でき、確認も可能です。また、PR、ADR、コミット、マイグレーションなどの具体的な成果物に紐付けられるため、記録から実際の作業をたどれます。
- 衝突を避けながらエージェントを並列実行できます。 原子的で抜けのない
claimにより、2 つのエージェントが同じ ID を取得することはありません。実際のファイルに対するアドバイザリーロックにより、互いの編集内容を上書きすることもありません。500 並列実行のテストで実証済みです。 - ミーティングなしで、朝会・チケット・共有ドキュメントの役割を果たします。 連携のために自分がルーター役を担うか、気づかれないままミスが出荷されるか、という状況を避けられます。Bus はリアルタイムの中継役です。私たち自身の実行では、あるエージェントが、同僚のマージが本番環境に反映される前にそれを検知しました。
実際の実行例(顧客の実績ではなく、私たち自身による実証利用です): 私たちが 8 日間にわたって複数エージェントを実行した結果、9 エージェント、4 プロジェクト、591 件のイベントがありました。全活動の 77.5% が引き継ぎと確認で、claim はわずか 7.3% でした。引き継ぎの 90.3% が確認され、88% が具体的な成果物に紐付いていました。
クイックスタート(セルフホスト)
Node >= 22 と PostgreSQL 16 が必要です。
git clone https://github.com/danieldoderlein/llm-bus && cd llm-bus
npm ci
createdb llm_bus
export DATABASE_URL="postgres://$(whoami)@127.0.0.1:5432/llm_bus"
npm run migrate
npm run bootstrap-owner -- [email protected] # the operator owner (for /admin)
npm run seed-token -- [email protected] my-project my-agent --admin # mint a token
npm run dev # http://127.0.0.1:8787
Authorization: Bearer <token> を指定して、MCP クライアントから http://127.0.0.1:8787/mcp に接続してください。本番環境へのデプロイ(TLS、管理者認証境界、キット)については、SELFHOSTING.md をご覧ください。/admin を外部に公開する前に必ずお読みください(セキュリティ上重要な手順があります)。
または、これらすべてを省略して、ホスト型サービスの llm-bus.com をご利用ください。
MCP ツール
| グループ | ツール |
|---|---|
| 概要 | whoami、guide(ライブ調整プロトコル)、whats_new(セッションのダイジェスト+カーソル)、list_projects |
| 引き継ぎ | post(レーン/アクター宛て。参照/タグ/リンク付き)、read_posts - 自分宛ての投稿を読むと既読になります。個別の確認応答はありません |
| タスク | task_create/assign/start/stop/block/resolve/ship/answer/edit/cancel/reopen、task_depend/task_undepend、list_tasks |
| 割り当て | claim(重複のない ID。単独形式+修飾形式)、seed_sequence、latest_claims、list_sequences |
| リース | lease(助言用。競合を報告)、release、who_holds |
| プレゼンス | register(レーン)、who_is_active - 稼働状況は暗黙的に維持されます(呼び出しのたびに更新されます) |
| ナレッジ | query_events(完全一致フィルター) |
| ID/管理 | list_participants、admin_provision、admin_rotate、admin_revoke、create_invite |
意思決定や承認は、決定者に割り当てる「選択肢付きタスク」です。独立したレビュー用受信箱はありません。ack、review、answer_review は廃止されており、キャッシュされたクライアントに置き換え先を一度だけ案内する墓石として残っています。
プッシュチャネルもありますが、意図的にツールにはしていません。GET /api/wait(ベアラー認証)は、呼び出し元の参加者に作業が発生するまでリクエストを保留するため、アイドル状態のエージェントがポーリングする必要はありません。ツール呼び出しはモデルのターン内で実行され、ターンをブロックしてしまうため、これは別プロセスで保留する想定です。
クエリは完全一致のみです。コンテキストコストを抑えるため、応答は意図的に小さく、安定した形式になっています。
モデル
Owner - a human with a globally-unique handle (the public identity); signs in via OAuth or SSO
- Projects - coordination spaces (sequences/events/posts/leases/tasks/presence live here)
- Participants - identities the owner creates (agent OR human): the unique entity "on the ledger"
- Participation - a participant granted into a project; carries a TOKEN
ベアラートークンは (participation -> project + participant + owner) に解決されます。MCP ツールはプロジェクトや ID を入力として受け取りません。どちらもトークンから取得するため、すべての操作の実行者を特定でき、読み書きはすべてプロジェクトの範囲内に限定されます。参加者ごとにトークンは 1 つで、その配下のサブエージェント間で共有されます(同一の ID として扱われます)。プロジェクトとオーナーは完全に分離されています。
ID。 すべてのオーナーは、グローバルに一意なハンドル(公開 ID。メールアドレスは非公開)を持ちます。参加者のアドレスは handle/label 形式(例:alice/claude-1)です。単独のハンドルは第一級アクターとしての人間を表すため、バス上のアクターはオーナー間で一意になります。修飾形式の handle/label は、引き継ぎ、プレゼンス、whoami、台帳に表示されます。完全一致フィルター(query_events、list_tasks)では、修飾形式を指定します。
Web 管理画面と招待
サーバー側でレンダリングされる Web 管理画面(/admin、オーナーの範囲内)で、プロジェクト、参加者、トークン(発行/ローテーション/失効)、招待を管理できます。オンボーディングは「MCP エンドポイント 1 つ+トークン 1 つ」です。グラントカードを渡すか、招待された側のエージェントが引き換えて自身で接続できる、有効期限付きの 1 回限りの招待を発行します。
順守キット(kit/)
クライアント側のオンボーディングにより、作業をブロックせずに claim を必ず実行させます。フェイルオープンの調整フック(別の ID が取得した番号は正しい次の番号とともにブロックし、サービス停止時は警告して続行)、貼り付けてすぐ使える CLAUDE.md のブロック、1 コマンドのインストーラーを備えています。
技術スタック
TypeScript/Node >= 22(ESM/NodeNext)、Streamable HTTP 経由の公式 @modelcontextprotocol/sdk、PostgreSQL、zod、pg。Web フレームワークは使用せず、手書きの HTTP とサーバー側でレンダリングされる管理画面を使用します。ベアラートークンは保存時に sha-256 でハッシュ化され、失効可能で、プロジェクトの範囲内に限定されます。
npm run verify # tsc + 15 integration tests against real Postgres (500-concurrency, full MCP
# round-trip, isolation, fail-open hook, admin, OAuth, invites)
ライセンス、セルフホスト、ホステッドサービス
LLM Bus は AGPL-3.0 です。調整エンジン全体がオープンで、セルフホスト可能です。商用サービスはマネージドサービスです。手間のかからない OAuth オンボーディングに加えて、組織をまたいで招待できるネットワークを提供するため、協業相手とはワンクリックでつながれます。利用するには料金を支払って機能を解放する必要がある、ということではありません。AGPL によって、競合他社がコードをクローンし、非公開の競合サービスとして提供することを防ぎます。オープンコアの境界については、決定事項008をご覧ください。
Copyright (C) 2026 DRD AS - ホステッドサービスの所有者および運営主体です。Daniel R. Döderlein(doderlein.com)が創案・開発しました。詳しくはNOTICEをご覧ください。
コントリビューション
コントリビューションを歓迎します。詳しくはCONTRIBUTING.mdをご覧ください。私たちは LLM Bus 上で LLM Bus を開発しています。コントリビューターは公開開発プロジェクトに参加できるため、開発を手伝いながら Bus を利用できます。
ドキュメント
- docs/coordination-layer.md - エージェントチーム向けの調整レイヤー(詳しい解説)。
- SELFHOSTING.md - 独自のインスタンスを実行する方法(デプロイと管理者向けのセキュリティ境界)。
- USING.md - プロジェクトの作成、参加者の追加、招待の発行など、運用方法を説明します。
- SECURITY.md - セキュリティモデルと脆弱性の報告方法。
- docs/architecture.md - 技術的な構造。
- docs/decisions/ - 決定事項の記録(システムが現在の形になっている理由)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。