多代理协调服务

agents-mcp 是一个多代理协调服务器,支持跨平台代理(如Claude、Codex、Gemini等)的并行任务分配和协作,适用于复杂的代码开发和任务自动化场景。

  • by metyatech
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 metyatech/agents-mcp

使用说明

@美泰/代理商mcp

叉子注意事项:这是一把梅塔泰克维修的叉子 @swarmify/agents-mcp 提取到独立存储库中以提高Windows兼容性。

任何MCP客户的子代理和Swarms。 从Claude、Codex、Gemini或任何使用MCP的工具中生成平行代理。

部分 Swarmify -IDE中的多代理编码。

上游 | VS代码扩展 | 演示视频

跨平台代理编排

                         MCP Protocol
                              |
        +---------------------+---------------------+
        |                     |                     |
   Claude Code             Codex                Gemini CLI
   (MCP Client)         (MCP Client)          (MCP Client)
        |                     |                     |
        +---------------------+---------------------+
                              |
                    +-------------------+
                    |   agents-mcp      |
                    | (MCP Server)      |
                    +-------------------+
                              |
        +---------------------+---------------------+
        |                     |                     |
   claude CLI            codex CLI            gemini CLI
   (SubAgent)            (SubAgent)           (SubAgent)

任何客户端都可以生成任何代理。 克劳德可以产生Codex。双子座可以生克劳德。游标可以生成所有三个。MCP协议是使这种互操作性成为可能的通用接口。

子代理和集群

此服务器支持两种多代理模式:

子代理 -分层委托,其中编排器为特定任务生成专门的代理。每个代理都独立工作,并向父代理报告。

群集 -多个代理并行处理问题的不同部分。编排器协调、分配不重叠的文件并合成结果。

这两种模式都使用相同的四种工具。编排者决定模式。

为什么跨平台很重要

没有此服务器,每个代理都是孤立的:

  • Claude Code有内置的子代理,但只有Claude
  • Codex没有本地子代理支持
  • Gemini CLI不支持本机子代理

使用此服务器,每个MCP客户端都可以获得相同的功能。根据模型的优势进行混合:

工作流程 工作原理
Opus用于规划,Codex用于速度 使用Claude Opus作为编排器来设计架构,生成Codex代理以实现快速、廉价的实现
Claude用于研究,Cursor用于代码 Claude探索代码库和计划方法,Cursor(Composer)编写代码
平行专家 Claude审查安全性,而Codex同时添加验证
科产卵克劳德 当Codex发现需要更深入推理的东西时,它就会产生克劳德

您可以控制成本权衡。昂贵的规划模型,快速的执行模型。

4个工具: Spawn, Status, Stop, Tasks 3种模式: plan (只读), edit (可以写), ralph (自主) 后台流程: 代理无头运行,在IDE重启后仍能存活

快速开始

# Claude Code
claude mcp add --scope user Swarm -- npx -y --package git+https://github.com/metyatech/agents-mcp.git#main agents-mcp

# Codex
codex mcp add swarm -- npx -y --package git+https://github.com/metyatech/agents-mcp.git#main agents-mcp

# Gemini CLI
gemini mcp add Swarm -- npx -y --package git+https://github.com/metyatech/agents-mcp.git#main agents-mcp

# OpenCode
opencode mcp add
# Name: Swarm, Command: npx -y --package git+https://github.com/metyatech/agents-mcp.git#main agents-mcp

服务器会自动发现您安装了哪些代理CLI。一旦连接,您的代理就可以生成和协调其他代理。

费用是多少

此服务器是免费和开源的。

每个代理使用您自己的API密钥。生育3名克劳德代理商意味着您的正常克劳德API成本的3倍。没有隐藏的费用。

示例:Swarm in Action

安装后,在Claude Code中尝试以下操作:

生成一个codex代理以向src/api/users.ts添加输入验证,并生成一个claude代理以审查安全影响

编排代理并行生成两个代理:

Claude Code (Orchestrator)
        |
        +-- Spawn(codex, "add input validation to src/api/users.ts")
        |         |
        |         v
        |   Codex Agent -----> modifies src/api/users.ts
        |
        +-- Spawn(claude, "review security implications")
                  |
                  v
            Claude Agent -----> analyzes changes, reports findings
        |
        +-- Status(task_name) -----> polls for completion
        |
        v
   Synthesizes results from both agents

编排器决定何时生成、分配什么以及如何组合结果。MCP服务器仅提供工具。

API 参考

生成

Spawn(task_name, agent_type, prompt, mode?, cwd?, effort?)

启动一个任务代理。立即返回代理ID。

参数 必填 说明
task_name 是 组相关代理(例如“身份验证功能”)
agent_type 是的 claude, codex, gemini,或 cursor
prompt 是 代理人的任务
mode 没有 plan (默认), edit,或 ralph
cwd 否 工作目录
effort 没有 fast, default,或 detailed

状态

Status(task_name, filter?, since?)

获取代理进度:文件已更改,命令已运行,最后消息。

参数 必填 说明
task_name 是 要检查的任务
filter 没有 running (默认), completed, failed, stopped, all
since 无 增量更新的ISO时间戳

停止

Stop(task_name, agent_id?)

停止任务中的所有代理,或按ID停止特定代理。

任务

Tasks(limit?)

列出按最近活动排序的所有任务。默认值为10。

模式

模式 文件访问 自动循环? 用例
plan 只读 否 研究、代码审查
edit 读+写 否 实现,修复
ralph 完整 是 通过RALPH.md自主

默认值为 plan 为了安全。通过 mode='edit' 当代理需要修改文件时。

拉尔夫模式

Ralph模式生成一个具有完全权限的代理,可以在 RALPH.md 文件。代理读取文件,逻辑地选择任务,标记它们已完成,并继续直到完成。

## [ ] Implement user authentication

Add JWT-based auth to the backend.

### Updates

---

## [x] Add rate limiting

Protect API endpoints.

### Updates

- Added sliding window counter
Spawn(mode='ralph', cwd='./my-project', prompt='Build the auth system')

命令行命令

除了作为MCP服务器运行之外, agents-mcp 公开用于监视代理的CLI子命令,而不需要活动的MCP连接。这对于需要跟踪后台代理的编排器非常有用。

agents-mcp status

即时、非阻塞状态检查。直接从以下位置读取代理元数据 ~/.agents/swarm/agents/ 并立即返回JSON。

agents-mcp status --task <name>
选项 必填 说明
--task <name> 是 要检查的任务名称
--help 否 显示帮助

输出: 任务中所有代理的JSON摘要(状态、更改的文件、最后的消息)。

agents-mcp wait

轮询,直到任务中的所有代理完成或达到超时时间。

agents-mcp wait --task <name> [--timeout <min>]
选项 必填 说明
--task <name> 是 要等待的任务名称
--timeout <min> 否 最大等待时间(分钟)(默认值:5,最大值:10)。允许小数(例如0.5=30秒)
--help 否 显示帮助

退出代码

代码 含义
0 所有代理均已成功完成
1 超时或错误
2 找不到该任务的代理

无阻塞监控模式

对于需要在等待代理时保持响应的平台,请运行 wait 在背景中:

# Claude Code: background monitoring while staying responsive to user input
Bash(run_in_background=true, command="agents-mcp wait --task my-task --timeout 5")

# Any platform: instant non-blocking check
agents-mcp status --task my-task

此模式允许编排器调度代理并继续处理输入,同时后台监控在工作完成时发出通知。

默认行为(无子命令)

跑步 agents-mcp 如果不使用子命令,MCP服务器将像以前一样启动——现有行为不变。

agents-mcp   # starts MCP server

此服务器不做什么

不是这个 那是编排者的工作
调度 决定何时生成哪些代理
任务分配 写入提示,定义要做什么
冲突解决 将非重叠文件分配给代理
智能 纯基础设施-无决策

服务器是一种工具。你的编排代理(克劳德等)决定如何使用它。

支持的代理

Agent CLI 最适合
克劳德 claude 复杂的研究、编排
食品法典委员会 codex 快速实施
双子座 gemini 多系统更改
光标 cursor-agent 调试、跟踪
OpenCode opencode 与提供商无关,开源

在引擎盖下面

代理商如何沟通

代理通过文件系统而不是共享内存进行通信:

Orchestrator                     SubAgent
     |                              |
     +-- Spawn ------------------>  |
     |                              |
     |                         writes to stdout
     |                              |
     |                         ~/.agents/swarm/agents/{id}/stdout.log
     |                              |
     +-- Status -----------------> reads log, parses events
     |                              |
     <-- files changed, messages ---+
     |                              |
     +-- (repeat until done) -------+

每个代理都会写入自己的日志文件(stdout.log).Status工具读取这些日志,对不同代理格式的事件进行规范化,并返回摘要。这种设计意味着:

  • 坚持:代理在IDE重启后仍能存活。通过状态/任务重新连接。
  • 调试:完整日志可在 ~/.agents/swarm/agents/{id}/
  • 无共享状态代理人之间不直接交谈。编排者协调。

存储

数据存在于 ~/.agents/:

~/.agents/
  config.json              # Agent configuration
  agents/
    {agent-id}/
      metadata.json        # task, type, mode, status
      stdout.log           # Raw agent output

计划模式 是只读的:

  • 克劳德: --permission-mode plan
  • Codex:沙盒
  • Gemini/Cursor:无自动批准

编辑模式 解锁写入:

  • 克劳德: acceptEdits
  • 食品法典: --full-auto
  • 双子座: --yolo
  • 光标: -f

发展

npm install          # install dependencies (also sets up husky pre-commit hooks via prepare)
npm run verify       # lint + format:check + typecheck + test + build
npm run format       # auto-fix formatting with prettier
npm test             # run tests only
npm run build        # compile TypeScript

预提交挂钩(npm run verify)每次提交时都会自动运行 哈士奇。未通过lint、格式化、类型检查、测试或构建的提交将被阻止。

配置

Config住在 ~/.agents/swarm/config.json。参见 代理商.md 以获取完整的配置参考。

环境变量

变量 描述
AGENTS_MCP_DEFAULT_MODE 默认模式(plan 或 edit)
AGENTS_MCP_RALPH_FILE 任务文件名(默认值: RALPH.md)
AGENTS_MCP_DISABLE_RALPH 设置 true 禁用拉尔夫模式

与扩展程序配合得很好

此MCP服务器可与任何MCP客户端独立工作。为了获得最佳体验-全屏代理终端、会话持久性、快速导航-安装 代理扩展 用于VS代码/光标。

许可证

麻省理工学院