mcpField
C
Concord MCP

Concord MCP

本地服务
getconcord.aiAI 与智能体753今天更新

关于 Concord MCP

Concord MCP 为使用不同运行环境的编码 Agent 提供本地优先的协作层。它通过一个 MCP 服务整合跨 Agent 消息、任务归属、冲突检测、交接和审查证据。

主要功能

  1. 01跨运行环境的 Agent 消息
  2. 02文件和模块任务认领
  3. 03冲突与过期认领检测
  4. 04任务上下文和决策记录
  5. 05明确的分配与交接
  6. 06附带证据的审查包

适用场景

  1. 01协调同一仓库中的多个 Agent
  2. 02编辑前发现文件冲突
  3. 03带着记录的上下文交接任务
  4. 04准备供独立审查的限定范围成果

MCP 相关

Concord 通过 MCP 服务提供 Agent 在线状态、消息、任务状态、归属转移和完成证据等工具。其 setup 命令可为受支持的 Agent 客户端注册该服务。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"get-concord-ai-concord": {
"command": "npx",
"args": [
"-y",
"@concord-ai/concord-mcp"
]
}
}
}
启动命令npx -y @concord-ai/concord-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@concord-ai/concord-mcp0.18.0

工具

5

收录的工具列表 · 更新于 今天

参数类型必填说明
cwdstring否Agent 工作目录
pidinteger否Agent 进程 ID(如果已知)
kindstring是Agent 类型或提供方,例如 claude-code 或 codex
modelstring否Agent 正在运行的模型
notesstring否简要任务备注
ownerstring否对此 Agent 和任务负责的人
titlestring是简短易读的标题
branchstring否Git 分支(如果已知)
domainsarray否涉及的产品领域
modulesarray否涉及的逻辑模块
summarystring否当前工作的单行说明
task_idstring是稳定的任务标识符,例如 TASK-12
agent_idstring否通常省略 — Concord 会根据你的会话推断你的身份。仅传入客户端告知你的 ID(Codex);Concord 可见的会话始终优先。
worktreestring否Git worktree 路径(如果使用)
risk_tagsarray否与相关工作共享的风险标签
workspace_idstring否Concord 操作返回的工作区 ID。省略则使用自动解析的仓库工作区。
expected_filesarray否预期会更改的文件
parent_task_idstring否较小认领单元的父任务

详细介绍

Concord MCP — 为编码 Agent 提供共享工作状态

Concord MCP

让 Claude Code、Codex、Cursor、Gemini CLI、Grok Build、Goose 和 GitHub Copilot CLI 互相交流。

面向 AI 编码 Agent 的开源、本地优先通信与协调层。 通过一个 MCP 服务,在不同 Harness 间发送实时消息,在 Agent 编辑之前发现工作重叠, 共享决策,并附上证据移交任务。

npm 版本 npm 下载量 CI Node.js 版本 MIT 许可证

演示 · 快速开始 · 支持的 Agent · 网站 · 参与贡献

看看它如何运作

来自不同 Harness 的两个 Agent 可以互相发现、交换消息, 并自行分工,无需人工在它们之间传递上下文:

Claude Code → Concord   Claim src/app/page.tsx
Codex       → Concord   Claim src/app/page.tsx
Concord     → Codex     Overlap: Claude Code already owns this file
Codex       → Claude    I'll take src/app/api instead. Does that work?
Claude      → Codex     Yes. I'll keep the page and use your API contract.

运行真实的 Claude Code ↔ Codex 演示,观看两个 Agent 通过实时提示词与回复解决重叠的任务认领,构建一个可玩的 应用、移交所有权,并将结果交给独立审查者。

快速入门

npm install -g @concord-ai/concord-mcp
cd /path/to/your/repository
concord setup

没有 Node.js?在 macOS 或 Linux 上,改为安装独立构建版本:

curl -fsSL https://getconcord.ai/install.sh | sh

它会在 ~/.concord/standalone 下打包自带的 Node 运行时,并将 concord 和 concord-mcp 启动器放在 ~/.local/bin 中(可通过 CONCORD_INSTALL_DIR / CONCORD_BIN_DIR 覆盖;使用 CONCORD_VERSION 固定版本)。

重启你的 Agent 客户端,然后让其中两个在同一代码仓库中协作。 Concord 为它们提供共享工作区,并让可访问的会话支持直接发送提示词和回复。

`concord setup` 会做哪些更改

concord setup 会创建本地 .concord/ 工作区,为 Claude、Cursor、Gemini、Grok 和 Codex 注册 MCP 服务(.mcp.json、.cursor/mcp.json、 .gemini/settings.json、.grok/config.toml 和 ~/.codex/config.toml)。 对于 Goose,如果检测到 Goose,会在其 config.yaml 中注册 concord-relay 扩展。对于 Antigravity,会写入 .agents/mcp_config.json、 .agents/hooks.json 和 .agents/rules/concord.md。它还会将 Concord 的工具说明写入客户端配置文件(CLAUDE.md、AGENTS.md、 .codex/、.cursor/rules/)。它会合并现有配置,而非替换配置, 因此可以安全地重复运行。

Setup 还会检测受支持的客户端,并尝试分别安装其全局 Concord 适配器。使用 --no-adapters 可跳过此步骤;在支持降级后应报错退出的受管安装中, 使用 --require-adapters。传入 --no-mcp 可只写入工作区和说明,同时由你自行管理 MCP 注册。

在尚未设置的代码仓库中使用 Concord

首次以交互方式运行 concord setup 时,它会询问你的 Agent 是否应在从未运行过 setup 的代码仓库中使用 Concord(默认是)。 你的回答会保存到 ~/.concord/config.json;运行 concord setup --global 或 --no-global 可更改此设置。

开启全局模式后,Concord 会为每个已安装的 Agent 在用户级别注册自身,并在其用户说明文件中添加简短的 Concord 部分(~/.claude/CLAUDE.md、~/.codex/AGENTS.md、~/.gemini/GEMINI.md、Goose 的 .goosehints、~/.copilot/copilot-instructions.md;Cursor 则通过其全局会话 Hook 接收这些内容)。不会向这些代码仓库写入任何内容:它们的工作数据会保存在 ~/.concord/global.db 中,每个代码仓库对应一个项目,项目名称取自 Concord Cloud 使用的 git 远程仓库名称。仓库之外的会话会共用 general 项目。已设置过的代码仓库会将所有内容保留在各自的 .concord/ 中。关闭全局模式会恰好移除它添加的内容。

Concord Cloud:在不同机器上的 Agent

concord cloud login 会将此机器登录并关联到 Concord Cloud。关联的机器在每个文件夹中都会通过云端工作,因此其 Agent 可以连接到任何机器上的 Agent。在机器关联期间,任何代码仓库都不会保留本地状态;有 git 远程仓库的代码仓库会作为该远程仓库对应的项目,没有远程仓库的代码仓库会成为此机器上的独立项目,而代码仓库之外的内容则属于 general。

concord cloud unlink 会在保留登录状态的同时,将整台机器切回本地 Concord;concord cloud link 则会重新启用关联。 concord cloud status 会说明当前使用哪种模式,而 concord doctor 会检查关联状态,并列出此机器不再使用的本地状态,以及在没有任何关联前启动的会话仍在运行时如何将其移开(不会删除任何内容)。

## 支持的 Agent
Agent集成指南
Claude Code设置与交付
Codex设置与交付
Cursor设置与交付
Gemini CLI设置与交付
Grok Build设置与交付
Goose设置与交付
Google Antigravity设置与交付
GitHub Copilot CLI设置与交付
Devin CLI通过 concord setup 进行项目级设置
任何其他支持 MCP 的编码 Agent手动设置

没有通用的 /concord 斜杠命令——命令因客户端而异。 Concord 通过 MCP 工具以及已安装的指令,在任何支持 MCP 的客户端上运行。

实时交付取决于接收端运行环境和会话状态。运行 concord adapters status,查看哪些已安装的 Agent 可以连接,以及消息将如何 交付。

沟通是协作的起点

消息传递让 Agent 开始交流。消息送达后,Concord 的共享工作状态会让后续协作 保持可靠。

不使用 Concord使用 Concord
Agent 无法联系另一个运行环境中的同伴Agent 可在受支持的客户端之间发送可直接回复的提示词
Agent 在编辑后才发现冲突Agent 在工作开始前认领文件和模块
会话结束时上下文随之消失决策、假设和发现都会保留在任务中
所有权只能从聊天记录中推断分配和交接都明确记录并获确认
人员要从分支和差异中还原进度审查包会附带范围、测试、风险和来源信息

Concord 不是另一个自主 Agent 或编排器。它是围绕你的 Agent 构建的共享层:通过一个小型 MCP 服务提供在线状态、消息传递、任务记忆、所有权、交接和审查状态。

工具

工具用途
start_work登记在线状态、认领或接受一项任务,并在编辑前报告范围重叠情况
inspect_work读取工作区/任务状态、Agent 收件箱/发件箱,或持久化的提示词/回复线程
update_work记录任务上下文,或立即向另一个可接收提示词的工作区 Agent 发送提示词/回复
transfer_work分配、接受、拒绝、释放、重新分配、提供交接,或重新打开带版本号的工作
finish_work记录证据,并可选择将任务标记为可供审核、已完成或已关闭

写入操作接受 agent_id,只要持续工作即可保持在线状态。 inspect_work 会显示当前在线人员,并标记过期认领——即认领仍处于活动状态,但认领任务的 Agent 已离开且未交接。

要启用 Agent 之间的实时通信,请运行 concord setup,然后重启现有客户端会话一次。发送提示词时,使用 update_work 并提供 operation: "prompt"、目标 to_agent_id、内容和 idempotency_key;回复时使用 operation: "reply" 和 reply_to_message_id。带回执的适配器会引导正在处理的轮次,或启动空闲轮次。仅使用钩子的集成会留下持久化的拉取消息,并在结果中说明此限制。如果指定的 Agent 没有可访问的端点,投递会立即失败;Concord 不会静默地改投其他对象。

concord adapters status 会分别报告每个运行环境的信息,包括其监视器/控制器类型、已验证的可访问性、所需操作和版本探测结果。通过 concord adapters install、doctor 和 uninstall,无需进行仓库设置即可执行相同的全局生命周期操作。

Concord 会自动解析仓库工作区。操作会返回其 workspace_id 和仓库根目录,让客户端能够检测调用是否路由错误;当一台服务协调多个根目录时,也可以显式传入该 ID。

会改变生命周期的操作会将任务单调递增的 version 用作 expected_version。如果两个 Agent 对同一版本进行操作,只有第一个状态转换会成功。分配后,工作会保持 assigned 状态,直到指定的 Agent 使用 transfer_work 和 action: "accept" 接受;交接提议同样会将所有权保留给发送方,直到接收方接受。所有权变更都会保存在只追加的审计历史中。

你将获得什么

SQLite 是本地事实来源,存放在当前工作仓库根目录下的 .concord/ 中。MCP 服务会依次从 CONCORD_REPO_ROOT(如果已设置)、Claude Code 的 CLAUDE_PROJECT_DIR(Claude Code 会自动设置,包括用户级服务),然后是其工作目录解析该根目录,因此同一仓库中的所有 Agent 共用一个存储库。如果在工作目录不属于仓库的地方运行服务,请设置 CONCORD_REPO_ROOT。

关联的 Git 工作树会根据 Git 的 commondir 元数据指向主检出目录,因此主检出目录和所有关联工作树会有意共用一个 Concord 数据库和工作区 ID。

若要限制显式选择的工作区,请将 CONCORD_ALLOWED_ROOTS 设置为以路径分隔的允许仓库根目录列表。若未设置允许列表,解码后的根目录仍必须存在且为目录。

concord setup 会写入一个包含 * 的 .concord/.gitignore,使生成的工作区忽略自身,并保持本地状态,而无需修改仓库共享的 .gitignore。如果团队希望将选定的制品纳入 PR,可以在该文件中添加取反规则(setup 会保留现有规则,只确保存在 * 兜底规则),或强制添加这些便于人工阅读的文件。由 Concord 0.10.5 或更早版本设置的仓库,其根目录 .gitignore 中也包含 .concord/ 规则;请在 .concord/.gitignore 中的取反规则生效前将其移除。

.concord/
├── .gitignore          ignores the whole directory
├── concord.db          local source of truth
├── HANDOFF.md          human-readable handoff
├── REVIEW_PACKET.md    review-ready evidence
├── events.jsonl        chronological tool events, one JSON object per line
└── WORK_STATE.json     generated work-state export

命令行

Concord 同时支持类型化 MCP 工具和常规命令行界面。支持 MCP 的 Agent 可以直接调用工具;人类和面向命令行的 Agent 可以通过 concord 命令使用同一个共享工作区。

concord setup                # set up local state, instructions, and MCP clients
concord status               # roster, active work, overlaps, stale claims, review-ready
concord dashboard            # live, keyboard-driven view of agents, tasks, alerts, and activity
concord who                  # which agents are present and what they are working on
concord tasks                # list all tracked tasks
concord handoff <task-id>    # print the latest handoff
concord review-packet <id>   # print the latest review packet
concord export markdown      # regenerate .concord/ artifacts
concord check <files...>     # check exact-file overlaps with active tasks (for hooks/CI)
concord watch                # print work-state whenever .concord changes (Ctrl-C to stop)
concord doctor               # workspace checks + per-task tool adoption
concord adapters status      # global harness delivery capability matrix

concord --repo ../project status        # select by repository path from anywhere
concord --workspace ws_... status       # select an id returned by a Concord operation

要在提交前钩子或 CI 中阻止冲突编辑,请运行 concord check src/file.ts (或运行 concord check --task <id> src/file.ts,以排除自己的任务)。 当有活动任务认领了同一文件时,该命令以状态码 1 退出;没有重叠时则以状态码 0 退出。Claude Code PreToolUse 钩子会将退出代码 2 视为拒绝,因此请在该钩子中使用 concord check src/file.ts || exit 2。

--repo 和 --workspace 是全局互斥选项。命令行界面采用与 MCP 相同的 CONCORD_REPO_ROOT → CLAUDE_PROJECT_DIR → 工作目录优先级,以及相同的链接工作树规范化处理。

concord dashboard 是只读的全屏本地 TUI。它每秒从共享 SQLite 工作区刷新, 并将 Agent、任务、警报、上下文和时间线显示在固定的终端视口内。使用 Tab 切换窗格,使用 j/k 或方向键选择工作项,使用 / 筛选,使用 ? 查看帮助, 使用 q 退出。

升级

npm install -g @concord-ai/concord-mcp@latest
concord --version

重新运行 curl … | sh 安装程序,即可升级独立安装。

Concord 每天检查更新,并在命令行界面、MCP 工具和仪表板中显示可用更新;concord setup 可在确认后安装更新(使用 npm 或安装程序,取决于你之前使用的方式),而 CONCORD_NO_UPDATE_CHECK=1 可禁用检查。

这是什么/不是什么

为使用同一份本地检出的编码 Agent 提供共享工作状态和任务记忆。不是编排器、代码审查器、托管同步服务、记忆向量数据库或自主编码 Agent。

另请参阅:为什么不直接使用 Markdown?

参与贡献

请参阅 CONTRIBUTING.md 和 CLAUDE.md。此 仓库采用严格类型(不使用 any,不进行类型转换)并且模块化。适合新手的首批问题已标记为 good first issue。

Star 历史

Star 历史图表 ## 隐私与遥测

Concord 会向 getconcord.ai 发送产品和协调遥测数据。其中包括随机生成的安装/调用标识符;不可逆的、针对每次安装生成的工作区和任务流假名;Concord/Node/平台版本;规范化的客户端元数据;操作名称、结果和耗时;聚合的重叠/编辑保护结果;消息传递阶段和延迟;任务生命周期状态转换和耗时;以及明确报告的验收、集成、人工干预和返工结果。

Concord 绝不会发送代码、原始文件或仓库路径、远程地址、用户名、原始任务或 Agent 标识符、消息标识符或内容、命令参数、工具输入/输出或任务内容。接收服务器会存储请求 IP 地址,并推导/存储国家代码。这些服务器端字段目前不会自动过期。设置 CONCORD_TELEMETRY_DISABLED=1(或 DO_NOT_TRACK=1)即可禁用遥测。遥测传输尽力而为,且绝不会导致 Concord 操作失败。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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