cc队mcp
混合桥,允许非Claude代理(如Codex CLI)参与Claude Code的本地 代理团队.
分叉自 cs50victor/claude代码团队mcp --感谢cs50victor的原创作品!
这是什么?
Claude Code有一个内置的代理团队功能,具有事件驱动的消息传递功能——当新的对话发生时,消息会自动注入代理上下文。该项目提供 两台MCP服务器 将非Claude代理连接到这个本地系统:
- MCP-A(
claude-teams-bridge):Claude Code团队负责生成、监视和关闭外部代理。通过以下方式监视收件箱文件并将消息注入外部代理tmux窗格send-keys. - MCP-B(
claude-teams-external):由非Claude代理(例如Codex CLI)用于发送消息和管理任务。写入收件箱文件的邮件由Claude Code的本机运行时自动拾取。
通信路径
| 从→ 致 | 机制 | 延迟 |
|---|---|---|
| 克劳德→ Claude | 本地消息注入(内置) | ~即时 |
| 克劳德→ 非克劳德 | 克劳德写信到收件箱→ MCP-A观察者→ tmux发送密钥 | ~秒 |
| 非克劳德→ Claude | MCP-B写入收件箱→ Claude运行时自动注入 | ~instant |
| 非克劳德→ 非克劳德 | MCP-B写入收件箱→ MCP-A观察者→ tmux发送密钥 | ~秒 |
任何代理类型都不需要轮询。
安装
MCP-A:克劳德代码团队负责人
增添 .mcp.json (项目范围)或 ~/.claude.json (用户范围):
{
"mcpServers": {
"claude-teams-bridge": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/kouui/cc-teams-mcp",
"claude-teams-bridge"
],
"allowedTools": ["*"]
}
}
}MCP-B:适用于Codex CLI队友
增添 ~/.codex/config.toml:
[mcp_servers.claude-teams-external]
command = "uvx"
args = ["--from", "git+https://github.com/kouui/cc-teams-mcp", "claude-teams-external"]当通过MCP-A生成Codex队友时,MCP-B会自动配置。
需求
- Python 3.12+
- 终端复用器
工具
MCP-A: claude-teams-bridge
| 工具 | 说明 |
|---|---|
spawn_external_agent | 在tmux中使用收件箱监视器生成外部代理 |
check_external_agent | 检查代理状态:活动/死亡、观察者状态、终端输出 |
shutdown_external_agent | 关闭tmux窗格、停止监视器、注销、重置任务 |
MCP-B: claude-teams-external
| 工具 | 说明 |
|---|---|
send_message | 向任何团队成员发送消息(写入收件箱) |
task_create | 创建新任务 |
task_list | 列出所有任务 |
task_get | 获取任务详细信息 |
task_update | 更新任务状态、所有者、依赖关系 |
配置
| 变量 | 描述 | 默认值 |
|---|---|---|
USE_TMUX_WINDOWS | 在tmux窗口而不是窗格中生成 | _(未设置)_ |
建筑
Claude Code (team-lead)
├── Native: TeamCreate / SendMessage / Task tools
│ └── Event-driven message delivery (auto-injected turns)
│
├── MCP-A (claude-teams-bridge)
│ ├── Tools: spawn, check, shutdown
│ └── Inbox watcher → tmux send-keys injection
│
└── Claude teammates (native communication, no MCP needed)
Non-Claude instance (e.g., Codex in tmux pane)
├── MCP-B (claude-teams-external)
│ ├── Tools: send_message, task_*
│ └── Writes to inbox files (read: false)
└── Initial prompt: team info + MCP-B tool usage文件布局
~/.claude/
├── teams//
│ ├── config.json
│ └── inboxes/
│ ├── team-lead.json
│ ├── codex-worker.json
│ └── .lock
└── tasks//
├── 1.json
└── .lock封装结构
src/claude_teams/
common/ # Shared: models, messaging, tasks, teams, _filelock
claude_side/ # MCP-A: server, spawner, registry, watcher, injector
external_side/ # MCP-B: server后端
目前支持: Codex CLI (codex), Gemini CLI (gemini).
| 后端 | 生成标志 | 注释 |
|---|---|---|
| 食品法典委员会 | --dangerously-bypass-approvals-and-sandbox --no-alt-screen | 提示为位置参数 |
| 双子座 | --yolo --screen-reader --prompt-interactive | --screen-reader 禁用TUI以获得干净的tmux输出 |
所有队友都会收到一个包含团队上下文(成员列表、MCP-B工具使用、沟通规则)的提示包装。
添加新后端需要扩展 BackendType 并添加 elif 分支机构在 build_spawn_command, wrap_prompt,以及 discover_backend_binaries 在 spawner.py.
发展
uv sync # install dependencies
uv run pytest tests/ -x # run tests
uv run ruff check src/ # lint
uv run pyright src/ # type check