mcp-crewd-rs について
mcp-crewd-rsは、AIワーカーセッションを調整するローカルデーモンです。Claude Code、Codex CLI、その他のMCPクライアントを対象とし、Unixソケット経由でワーカーセルを実行して、追記専用のハッシュチェーン監査ログに活動を記録します。
主な機能
- 01ワーカーセルの起動と監督
- 02タスク送信とメッセージ交換
- 03ジョブのスケジュールとセル状態の追跡
- 04セルごとの権限と認証
- 05追記専用のハッシュチェーン監査ログ
活用シーン
- 011つのAIセッションからワーカーセッションへタスクを委任
- 02複数セル間のメッセージと返信を調整
- 03MCPクライアントからセルの状態と結果を確認
- 04デーモンの監査履歴を検証
MCP 対応
`crew mcp`のstdioシムは、ワーカーセルの起動、通信、状態追跡を行うセル単位のツールを公開します。Workerモードでは、制御不能な多重起動を防ぐため、起動機能が隠されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-crewd-rs
crewd は、AI エージェント向けのセルファブリックデーモンです。単一の MCP サーバーを通じて、1 つの AI セッション(Claude Code、Codex CLI、または任意の MCP クライアント)から、ほかの AI ワーカーセッション(セル)を起動し、調整し、メッセージを送信できます。Rust 製で、コンポーネントごとに静的バイナリが 1 つあり、ネットワークリスナーはありません。すべてローカルの Unix ソケット経由で動作します。
Rust 製 MCP サーバーの mcp-*-rs ファミリーの一部です。
┌────────────┐ MCP stdio ┌──────┐ UDS (NDJSON) ┌───────┐ spawns ┌─────────────────┐
│ Claude Code│─────────────▶│ crew │─────────────────▶│ crewd │──────────▶│ engine processes│
│ / Codex CLI│ cell_* tools│ shim │ 0600 socket │daemon │ │ claude / codex │
└────────────┘ └──────┘ └───────┘ │ / pi workers │
└─────────────────┘
コンポーネント
| バイナリ | 役割 |
|---|---|
crewd | デーモン:セルレジストリ、ジョブスケジューラー、エンジンスーパーバイザー、メッセージバス、SQLite(WAL)ストア、追記専用のハッシュチェーン監査ログ |
crew | オペレーター向け CLI(status、inspect、audit verify)+セルごとの MCP stdio シム(crew mcp) |
MCP ツール
crew mcp 経由でセルごとにマウントされます。
- ファブリック —
cell_spawn(エンジン+プロファイル+タスクでワーカーセルを起動)、cell_send_task、cell_status、cell_result、cell_cancel、cell_list - バス —
cell_send(応答を待たずに送信)、cell_ask/cell_await(問い合わせチケット+ロングポーリングでの返信)、cell_reply、cell_broadcast、cell_inbox
ワーカーセルには --worker-mode を指定した同じシムが提供され、起動機能を非表示にします(無制御の入れ子状のファンアウトを防止します)。
エンジン
| エンジン | 方法 | セッションの継続性 |
|---|---|---|
claude | Claude Agent SDK 上の Node シム(shim/claude-shim.mjs) | セッション ID で再開 |
codex | codex app-server JSON-RPC(v2 プロトコル) | スレッド ID で再接続 |
pi | pi rpc | なし(v0) |
Claude プロファイルでは、エンジンが認証情報を取得する場所を選択します。max(デフォルト)はホスト自身の Claude 認証情報を使用するため、追加設定は不要です。追加プロファイルを使うと、エンジンをAnthropic 互換エンドポイントにルーティングできます。その際、プロファイルのベアラートークンは keys_env_path から読み取られます(crewd.toml、argv、ログから読み取ることはありません)。組み込みプロファイルは engine-claude アダプターで定義されています。
セルの識別情報は作業ディレクトリです。起動されたエンジンは、cell_spawn に渡した cwd にある CLAUDE.md、.mcp.json、メモリ、スキルを読み込みます。そのため、1 つのデーモンで異なるプロジェクトルートにセルを起動し、複数の「ペルソナ」に対応できます。
インストール
ビルド済みバイナリ(推奨)— 使用するプラットフォーム用のアーカイブを最新リリース
からダウンロードして展開してください。アーカイブには crewd、crew、shim/ ディレクトリが含まれています。
tar xzf mcp-crewd-rs-x86_64-unknown-linux-gnu.tar.gz
install -m755 mcp-crewd-rs-*/crewd mcp-crewd-rs-*/crew ~/.local/bin/
ビルド済みのターゲット(Linux + Android):x86_64-unknown-linux-gnu、
x86_64-unknown-linux-musl、aarch64-unknown-linux-gnu、
aarch64-unknown-linux-musl(エッジ/ARM)、aarch64-linux-android(Termux)。
macOS:ビルド済みバイナリは提供されていません(Apple のコード署名が必要になるためです)。
代わりにソースからビルドしてください。macOS は CI でテスト済みです(ピア認証には
SO_PEERCRED の代わりに getpeereid + LOCAL_PEERPID を使用します)。
git clone https://github.com/DioNanos/mcp-crewd-rs && cd mcp-crewd-rs
cargo build --release --locked
install -m755 target/release/crewd target/release/crew ~/.local/bin/
ソースからビルド(すべてのプラットフォーム) — Rust ≥ 1.85:
cargo build --release
install -m 0755 target/release/crewd target/release/crew ~/.local/bin/
エンジンの実行時要件:claude エンジンには Node ≥ 20 が必要で、@anthropic-ai/claude-agent-sdk をシムの隣にインストールする必要があります(cd shim && npm install)。codex エンジンには、デーモンの PATH 上に codex CLI が必要です。
設定
crewd.toml(--config で明示的に渡します。cwd からは導出されません):
runtime_dir = "/home/you/.config/crewd/runtime" # socket, db, audit, tokens
acl_path = "/home/you/.config/crewd/acl.toml"
# Optional: only for claude profiles that authenticate against an
# Anthropic-compatible endpoint. A KEY=value env file holding that profile's
# bearer token(s), e.g. `PROVIDER_API_KEY=...`. Omit for the default `max`.
keys_env_path = "/home/you/.config/crewd/keys.env"
acl.toml — 登録された各セルのエンジンと機能(send、ask、reply、broadcast、read_inbox、list_cells、read_audit、spawn)を定義するセクションが必要です:
[cell.coordinator]
engine = "claude"
capabilities = ["send","ask","reply","broadcast","read_inbox","list_cells","read_audit","spawn"]
セルごとの認証:各セルに 0600 のトークンファイルを用意します(L0 方式)。MCP クライアント設定で shim をマウントします:
// .mcp.json (Claude Code) — one entry per cell identity
{
"mcpServers": {
"crew": {
"command": "crew",
"args": ["mcp",
"--runtime-dir", "/home/you/.config/crewd/runtime",
"--cell", "coordinator",
"--token-file", "/home/you/.config/crewd/coordinator.secret"]
}
}
}
systemd
[Unit]
Description=crewd — cell fabric daemon
After=network.target
[Service]
Type=simple
User=you
Group=you
# The claude shim path is resolved relative to this directory.
WorkingDirectory=/path/to/mcp-crewd-rs
ExecStart=%h/.local/bin/crewd --config %h/.config/crewd/crewd.toml
# IMPORTANT: the default systemd PATH does not include user-level bins.
# Engine adapters spawn `codex` / `node` from the daemon's PATH:
Environment="PATH=%h/.local/bin:/usr/local/bin:/usr/bin:/bin"
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
セキュリティモデル
- 0700 のランタイムディレクトリ内に 0600 の Unix ソケットを配置します。バインド時にシンボリックリンクがあると拒否します。
- ハンドシェイク時にカーネルのピア認証情報を確認します(Linux/Android では
SO_PEERCRED、macOS ではgetpeereidとLOCAL_PEERPID)。続いてセルごとのトークンを確認します(ファイルは0600)。 - エンジンの子プロセスは厳密な環境変数の許可リストに従って実行されます。デーモンが
keys_env_pathからシークレットを読み取り、必要とする子プロセスにのみ渡します。シークレットがログやエラーメッセージに現れることはありません。 - 追記専用のハッシュチェーン監査ログ(
crew audit verify)。 - 失敗状態を正確に記録します。クラッシュしたターンや孤立したターンは、起動時に
interrupted/failed_unknownとして復元されます。エンジンが受理した後に、通知なく再試行されることはありません。
スコープに関する注意:デーモンと同じ UID で実行されるプロセスは、ソケットとトークンファイルを読み取ることができます。crewd はセルを分離するものであり、同一ユーザー間の権限境界ではありません。THREAT_MODEL.md を参照してください。
プラットフォーム
| プラットフォーム | ステータス |
|---|---|
| Linux(x86_64/aarch64、gnu + musl) | ✅ ビルド済みバイナリ提供 + CI テスト済み |
| Android/Termux(aarch64) | ✅ ビルド済みバイナリ提供(aarch64-linux-android)、CI でビルド確認済み |
| macOS(Apple Silicon/Intel) | ✅ ソースからビルド可能、CI テスト済み(getpeereid によるピア認証) |
| Windows | ❌ 非対応(Unix ソケットとピア認証情報を使用) |
Termux では systemd を利用できません。termux-services で crewd を実行するか、通常の nohup crewd --config … & を使用してください。macOS では launchd を使用するか、ターミナルで実行してください。
ドキュメント
- SPEC.md — 規範的なプロトコルと動作の仕様
- THREAT_MODEL.md — 脅威モデルと対象外事項
ステータス
1.0 より前のバージョン(v0.1.x):単一ホストのファブリック(UDS)。ホスト間ファブリック、オペレーター向けトークン CLI、エンジンのウォーム再利用はロードマップに含まれています。
ライセンス
Apache-2.0。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。