Concord MCP 是一个为 AI 编程助手设计的开源、本地优先的通信与协调层。它通过一个 MCP 服务器,让 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等不同的 AI 编程助手能够互相通信、协作。
使用场景
一个典型的工作流如下:
1. 两个不同的 AI 代理(如 Claude Code 和 Codex)在同一代码仓库中工作。
2. Claude Code 通过 Concord 声明(Claim)对 src/app/page.tsx 文件的修改权。
3. Codex 试图声明同一个文件时,Concord 会通知它该文件已被 Claude Code 占用。
4. Codex 转而向 Claude Code 发送消息,提议自己负责 API 部分。
5. Claude Code 接受提议,两者分工合作。
核心功能
Concord 解决的是多个 AI 编程助手在同一代码库中工作时可能产生的冲突和协作问题。它主要提供以下功能:
* 实时通信:让不同 AI 编程助手能够互相发送和回复消息,实现跨工具的对话。
* 工作冲突检测:在 AI 编辑文件前,通过“声明(Claim)”机制来检测和避免重叠工作,防止互相覆盖。
* 任务记忆与交接:持久化存储任务决策、假设和发现,即使会话结束,信息也不会丢失。支持明确的任务分配和交接。
* 审查证据包:可生成包含范围、测试、风险和来源的“审查包”,方便人工审查。
> Concord 本身不是一个自主代理或编排器,而是一个为 AI 代理提供“在场感知、消息传递、任务记忆、所有权、交接和审查状态”的共享层。
️ 工作原理
Concord 的核心机制围绕着声明(Claim) 和交接(Handoff):
1. 安装与设置:通过 npm install -g @concord-ai/concord-mcp 安装,然后在项目根目录运行 concord setup。此命令会创建 .concord/ 工作区,并为支持的 AI 客户端(如 Claude Code, Cursor 等)自动注册 MCP 服务器和工具指令。
2. 核心工具:Concord 提供五个 MCP 工具供 AI 代理调用:
* start_work: 注册存在感,声明或接受一个任务,并报告范围重叠。
* inspect_work: 读取工作区/任务状态、代理收件箱/发件箱或对话线程。
* update_work: 记录任务上下文,或立即向另一个代理发送提示/回复。
* transfer_work: 分配、接受、拒绝、释放、重新分配或交接任务。
* finish_work: 记录证据,并将任务标记为待审查、完成或关闭。
3. 数据存储:所有信息(如任务状态、对话历史)都存储在项目根目录 .concord/ 文件夹下的一个 SQLite 数据库中,作为本地唯一真实数据源。
✨ 主要特性
* 广泛兼容:支持 Claude Code, Codex, Cursor, Gemini CLI, Grok Build 等主流 AI 编程助手。任何支持 MCP 的客户端理论上都可以集成。
* CLI 与 TUI:提供命令行工具和全屏终端 UI 仪表板 (concord dashboard),可以实时查看代理、任务、告警和活动。
* 本地优先:所有数据存储在本地,确保隐私和安全。团队若需要,也可以将部分可读文件(如 HANDOFF.md)纳入版本控制。
* 安全设计:可以设置 CONCORD_ALLOWED_ROOTS 环境变量来限制允许操作的仓库根目录,增强安全性。
* 审计追踪:所有所有权的变更都会记录在追加式的审计历史中。
隐私与遥测
Concord 会向 getconcord.ai 发送产品和使用情况遥测数据,但明确承诺不会发送代码、原始文件或仓库路径、远程地址、用户名、原始任务或代理标识符、消息标识符或内容、命令参数、工具输入/输出或任务内容。可以通过设置 CONCORD_TELEMETRY_DISABLED=1 或 DO_NOT_TRACK=1 环境变量来禁用遥测。
贡献与许可
* 贡献:项目欢迎贡献,并标有 good first issue 标签的问题适合新手。代码库是严格类型化的(无 any,无类型转换)。
* 许可:项目采用 MIT 许可证。
总的来说,Concord MCP 是一个很有前景的工具,旨在解决多 AI 代理协作中的核心痛点,让它们能像人类团队一样有序、高效地协同工作。