mcpField
M
mcp-crewd-rs

mcp-crewd-rs

本地服务
dev.mmmbuto.comAI 与智能体017 周前更新

关于 mcp-crewd-rs

mcp-crewd-rs 是用于协调 AI Worker 会话的本地守护进程,面向 Claude Code、Codex CLI 和其他 MCP 客户端。它通过 Unix 套接字运行 Worker Cell,并以追加式哈希链审计日志记录活动。

主要功能

  1. 01启动并监管 Worker Cell
  2. 02发送任务并交换消息
  3. 03调度任务并跟踪 Cell 状态
  4. 04按 Cell 配置能力与身份验证
  5. 05追加式哈希链审计日志

适用场景

  1. 01将一个 AI 会话的任务委派给 Worker 会话
  2. 02协调多个 Cell 间的消息与回复
  3. 03通过 MCP 客户端查看 Cell 状态和结果
  4. 04验证守护进程的审计记录

MCP 相关

`crew mcp` stdio shim 提供按 Cell 配置的工具,用于启动、通信和跟踪 Worker Cell。Worker 模式的 shim 会隐藏启动能力,以避免不受控的嵌套扩展。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-crewd-rs

CI Tests License: Apache-2.0 Rust MCP Registry

crewd 是一个面向 AI Agent 的单元织网守护进程:它让一个 AI 会话(Claude Code、Codex CLI 或任意 MCP 客户端)通过单个 MCP 服务生成、协调并与其他 AI 工作会话——单元——通信。使用 Rust 编写,每个组件都是一个静态二进制文件,不监听网络:所有操作都通过本地 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 恢复
codexcodex app-server JSON-RPC(v2 协议)按线程 ID 重新连接
pipi rpc无(v0)

Claude 配置档案用于选择引擎获取凭据的位置。max(默认值)使用主机自身的 Claude 凭据,无需额外配置。其他配置档案会将引擎路由至兼容 Anthropic 的端点,并从 keys_env_path 读取该配置档案的 bearer 令牌(绝不会从 crewd.toml、argv 或日志读取);内置配置档案定义在 engine-claude 适配器中。

单元的身份由其工作目录决定:生成的引擎会加载你传给 cell_spawn 的 cwd 中的 CLAUDE.md、.mcp.json、记忆和技能。因此,一个守护进程可以通过在不同项目根目录中生成单元,服务于多个“角色”。

安装

预编译二进制文件(推荐)——从最新版本下载适用于你平台的归档文件并解压;其中包含 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 测试(在 macOS 上,点对点身份验证使用 getpeereid + LOCAL_PEERPID,而不是 SO_PEERCRED):

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 显式传入,不会根据当前工作目录推导):

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

安全模型

  • Unix 套接字位于权限为 0700 的运行时目录中,权限为 0600;绑定时会拒绝符号链接。
  • 握手时检查内核对端凭据(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 或在终端中运行。

文档

状态

1.0 之前(v0.1.x):单主机网络(UDS)。跨主机网络、操作员令牌 CLI 和引擎热复用已列入路线图。

许可证

Apache-2.0。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。