coordinator

coordinator

Enables multiple Claude Code sessions to communicate, share state, and coordinate tasks through session management, message passing, and task scheduling, supporting a three-role collaboration workflow.

Category
访问服务器

README

Agent Coordination MCP Server

多 Agent 会话协调系统 — 让多个 Claude Code 会话通过 MCP 协议实现跨会话通信、状态共享、任务调度。

功能

  • 会话管理 — 注册/注销会话,心跳检测,状态同步
  • 消息传递 — 异步点对点消息和广播,支持 TTL 和 ACK
  • 任务调度 — 任务看板,支持创建/认领/更新/完成,依赖关系和自动 unblock
  • 三角色协作 — 产品经理、规划师、开发人员分工协作完成需求

环境要求

  • Node.js 18+
  • Claude Code(支持 MCP 的版本)

下一步

  • 开发前后端
  • 优化上下文开销

安装

git clone <repo-url>
cd agent-coordination-mcp
npm install

一键安装(Windows PowerShell)

.\setup.ps1

该脚本会自动完成:安装依赖 → 类型检查 → 运行测试 → 安装 Skill 到 ~/.claude/skills/

手动安装 Skill

如果不使用 setup.ps1,手动将 Skill 复制到 Claude Code 目录:

# 将 .claude/skills/coordinator/ 复制到全局 skills 目录
cp -r .claude/skills/coordinator ~/.claude/skills/

配置

方式一:通过 Claude Code CLI 添加(推荐)

claude mcp add coordinator -- npx tsx /path/to/this/project/src/server.ts

/path/to/this/project 替换为本项目的实际路径。

方式二:手动编辑 MCP 配置文件

在 Claude Code 的 MCP 配置文件中添加:

{
  "mcpServers": {
    "coordinator": {
      "command": "npx",
      "args": ["tsx", "/path/to/this/project/src/server.ts"]
    }
  }
}

配置文件位置:

  • 全局配置~/.claude/claude_desktop_config.json
  • 项目配置:项目根目录下的 .mcp.json

生产模式配置

构建后使用编译产物运行,无需 tsx

npm run build
{
  "mcpServers": {
    "coordinator": {
      "command": "node",
      "args": ["/path/to/this/project/dist/server.js"]
    }
  }
}

使用

1. 启动协调 Skill

在 Claude Code 中输入:

/coordinator product-manager
/coordinator planner
/coordinator developer

每个会话选择一个角色,Skill 会自动引导完成注册和初始化。

2. 三角色协作流程

用户提出需求
    │
    ▼
产品经理接收需求 → 创建规划任务 → 分配给规划师
    │
    ▼
规划师分析需求 → 拆解任务 → 输出 spec → 通知产品经理
    │
    ▼
产品经理审查 spec → 通过后创建开发任务 → 分配给开发人员
    │
    ▼
开发人员认领任务 → 按 spec 实现 → 完成后通知产品经理
    │
    ▼
产品经理验收 → 向用户汇报

验收失败时:

  • 规划问题(spec 不符合预期)→ 创建任务给规划师重新规划
  • 开发问题(spec 正确但实现有误)→ 创建任务给开发人员修复

3. 角色职责

角色 职责 禁止行为
product-manager 接收需求、分配任务、审查 spec、验收结果 写代码、绕过规划师
planner 分析需求、拆解任务、输出 spec 写代码、直接联系开发人员
developer 接收 spec、开发实现、交付验收 创建任务、直接联系规划师

MCP Tools 参考

会话管理

Tool 参数 说明
register_session name: string 注册会话,同名幂等
unregister_session session_id: string 注销会话,释放任务
heartbeat session_id: string 心跳,建议每 30 秒一次
update_status session_id, status 更新状态(idle/working/error)
list_sessions status? 列出会话,可按状态过滤

消息传递

Tool 参数 说明
send_message from, to, content, type? 发送消息,to="*" 为广播
get_messages session_id, since?, type? 获取待处理消息
ack_message message_id 确认消息已处理

任务管理

Tool 参数 说明
create_task title, created_by, assignee?, priority?, depends_on? 创建任务
claim_task task_id, session_id 认领任务(原子操作)
update_task task_id, status?, assignee?, metadata? 更新任务,完成时自动 unblock 下游
list_tasks status?, assignee?, created_by? 查询任务
watch_task task_id 查看任务状态和变更记录

开发

常用命令

npm run dev          # 开发模式(tsx 直接运行)
npm run build        # 编译 TypeScript
npm start            # 运行编译产物
npm test             # 运行测试(watch 模式)
npm run test:run     # 运行测试(单次)
npm run typecheck    # 类型检查
npm run lint         # ESLint 检查

项目结构

src/
├── server.ts          # MCP Server 入口,注册所有 tools
├── db.ts              # SQLite 数据库初始化和迁移
├── session.ts         # 会话管理(注册、心跳、状态)
├── message.ts         # 消息传递(发送、获取、确认)
├── task.ts            # 任务管理(创建、认领、更新、查询)
├── config.ts          # 配置管理
├── health.ts          # 健康检查
├── alert.ts           # 告警机制
├── audit.ts           # 审计日志
├── api-version.ts     # API 版本管理
├── circuit-breaker.ts # 熔断器
├── types.ts           # 共享类型定义
└── tools.ts           # 工具函数

.claude/skills/coordinator/
├── SKILL.md           # Skill 入口定义
├── workflows.md       # 三角色工作流
└── examples.md        # 工具调用示例

设计原则

  • 会话身份:每个 Claude Code 会话通过 register_session 获得唯一 ID
  • 消息异步:发送方不阻塞,接收方按需拉取,持久化在 SQLite 中
  • 任务即真相:所有会话共享同一个任务看板,状态变更原子化
  • 心跳检测:超过 1 小时无心跳的会话标记为 stale,任务自动释放
  • 级联 unblock:任务完成时自动解除下游 blocked 任务

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选