Concord MCP

io.github.Get-Concord-AI由 GitHub 帳號 Get-Concord-AI 發布v0.20.0更新於 Nov 7, 2026

Cross-harness communication and shared work-state for AI coding agents.

發布方自己的服務:Concord

概覽

AI 產生的概覽

本機 MCP 伺服器,為不同用戶端中的編碼代理提供共用工作區,用來認領任務、互相傳訊並附證據交接工作。

可以做什麼
  • 編輯前註冊代理並認領或接受一個任務,回報範圍重疊警告
  • 讀取工作區狀態、單一任務、代理收件匣/寄件匣或提示與回覆串
  • 記錄任務脈絡,或向另一個可觸及的代理送出即時提示或回覆
  • 指派、接受、拒絕、釋出、改派、提出附證據的交接或重新開啟工作
  • 記錄完成證據,並將任務保留為進行中、待審查或已結案
適用情境
當兩個以上的編碼代理(例如 Claude Code、Codex、Cursor、Gemini CLI、Goose 或 Copilot CLI)在同一個程式碼儲存庫工作時適用,可讓它們避免改到相同檔案、互相通訊,並以留有紀錄的證據交接任務,不必由人轉述脈絡。
執行需求
以本機 stdio 程序執行,可從 npm 套件或自帶執行環境的安裝腳本安裝;npm 方式需要 Node.js。安裝會建立 .concord 工作區並在用戶端設定中註冊此伺服器。選用環境變數包括 CONCORD_REPO_ROOT、CONCORD_ALLOWED_ROOTS 與 CONCORD_TELEMETRY_DISABLED。跨機器協作需要登入 Concord Cloud。
安裝前請注意
安裝會修改代理用戶端設定與指示檔案(如 CLAUDE.md、AGENTS.md、.cursor/rules),但採合併而非取代。代理可以傳送訊息並變更任務歸屬,歸屬變更會保存在僅可追加的稽核歷程中。預設會將產品與協作遙測傳送到 getconcord.ai,包含安裝識別碼與操作結果,且伺服器端保存的 IP 與國別代碼目前沒有自動到期;可用 CONCORD_TELEMETRY_DISABLED 或 DO_NOT_TRACK 關閉。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Concord MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Concord MCP — shared work-state for coding agents]

Concord MCP

Let Claude Code, Codex, Cursor, Gemini CLI, Grok Build, Goose, and GitHub Copilot CLI talk to each other.

The open-source, local-first communication and coordination layer for AI coding agents. Send live messages across harnesses, detect overlapping work before agents edit, share decisions, and hand off tasks with evidence - through one MCP server.

[npm version] [npm downloads] [CI] [Node.js version] [MIT License]

Demo · Quick start · Supported agents · Website · Contributing

See it work

Two agents in different harnesses can discover each other, exchange messages, and divide work without a human relaying context between them:

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

Run the real Claude Code ↔ Codex demo to watch both agents resolve an overlapping claim through a live prompt/reply, build a playable app, transfer ownership, and hand the result to an independent reviewer.

Quick start

bash
npm install -g @concord-ai/concord-mcpcd /path/to/your/repositoryconcord setup

No Node.js? On macOS or Linux, install a self-contained build instead:

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

It bundles its own Node runtime under ~/.concord/standalone and puts the concord and concord-mcp launchers in ~/.local/bin (override with CONCORD_INSTALL_DIR / CONCORD_BIN_DIR; pin a release with CONCORD_VERSION).

Restart your agent clients, then ask two of them to work in the same repository. Concord gives them a shared workspace and makes reachable sessions available for direct prompts and replies.

What concord setup changes

concord setup creates the local .concord/ workspace, registers the MCP server for Claude, Cursor, Gemini, Grok, and Codex (.mcp.json, .cursor/mcp.json, .gemini/settings.json, .grok/config.toml, and ~/.codex/config.toml). For Goose, it registers the concord-relay extension in Goose's config.yaml when detected. For Antigravity, it writes .agents/mcp_config.json, .agents/hooks.json, and .agents/rules/concord.md. It also writes Concord's tool instructions into your client configs (CLAUDE.md, AGENTS.md, .codex/, .cursor/rules/). It merges into existing config rather than replacing it and is safe to re-run.

Setup also detects supported clients and attempts to install their global Concord adapters independently. Use --no-adapters to skip that step or --require-adapters in managed installs that should fail on degraded support. Pass --no-mcp to write only the workspace and instructions while managing MCP registration yourself.

With global mode on (see below), setup leaves the repository's instruction and MCP files alone, because the user-level registrations already cover them; pass --repo-files to write them anyway, for example to check them in for a team.

Using Concord in repositories you have not set up

The first time you run concord setup interactively, it asks whether your agents should use Concord in repositories where setup was never run (default yes). Your answer is saved in ~/.concord/config.json; concord setup --global or --no-global changes it.

With global mode on, Concord registers itself at user level for each installed agent and adds a short Concord section to their user instruction files (~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, ~/.gemini/GEMINI.md, Goose's .goosehints, ~/.copilot/copilot-instructions.md; Cursor receives it from its global session hook). Nothing is written into those repositories: their work is kept in ~/.concord/global.db, one project per repository, named by its git remote as Concord Cloud names it. Sessions outside any repository share the general project. A repository you did set up keeps everything in its own .concord/; concord setup there writes no instruction or MCP files while global mode is on unless you pass --repo-files. Turning global mode off removes exactly what it added.

Concord Cloud: agents on different machines

concord cloud login signs this machine in to Concord Cloud and links it. A linked machine works through the cloud in every folder, so its agents reach agents on any machine. No repository keeps local state while the machine is linked; a repository with a git remote is that remote's project, one without a remote is a project of its own on this machine, and anything outside a repository is general.

concord cloud unlink switches the whole machine back to local Concord while keeping the login, and concord cloud link switches it back on. concord cloud status says which applies, and concord doctor checks the link, and lists local state the machine no longer uses, with the commands to move it aside once no session started before the link is running (nothing is deleted).

Supported agents

AgentIntegration guide
Claude CodeSetup and delivery
CodexSetup and delivery
CursorSetup and delivery
Gemini CLISetup and delivery
Grok BuildSetup and delivery
GooseSetup and delivery
Google AntigravitySetup and delivery
GitHub Copilot CLISetup and delivery
Devin CLIProject-level setup via concord setup
Conductor (Claude Code, Codex)Setup and delivery
Any other MCP-capable coding agentManual setup

There is no universal /concord slash command — commands are client-specific. Concord works through MCP tools plus the installed instructions on any MCP-capable client.

Live delivery depends on the receiving harness and session state. Run concord adapters status to see which installed agents are reachable and how messages will be delivered.

Communication is the starting point

Messaging gets agents talking. Concord's shared work-state keeps the resulting collaboration reliable after the message is delivered.

Without ConcordWith Concord
Agents cannot contact peers in another harnessAgents send direct, replyable prompts across supported clients
Agents discover collisions after editingAgents claim files and modules before work begins
Context disappears when a session endsDecisions, assumptions, and findings stay attached to the task
Ownership is implied by chat historyAssignments and handoffs are explicit and acknowledged
Humans reconstruct progress from branches and diffsReview packets arrive with scope, tests, risks, and provenance

Concord is not another autonomous agent or orchestrator. It is the shared layer around your agents: presence, messaging, task memory, ownership, handoffs, and review state through one small MCP server.

The tools

ToolPurpose
start_workregisters presence, claims or accepts one task, and reports scope overlaps before editing
inspect_workreads workspace/task state, an agent inbox/outbox, or a durable prompt/reply thread
update_workrecords task context or immediately prompts/replies to another promptable workspace agent
transfer_workassigns, accepts, declines, releases, reassigns, offers handoffs, or reopens versioned work
finish_workrecords evidence and optionally marks a task review-ready, complete, or closed

Writes accept an agent_id, which keeps presence live just by working. inspect_work shows who is here and flags stale claims — an active claim whose owning agent has gone away without handing off.

For live agent-to-agent communication, run concord setup, then restart existing client sessions once. A prompt uses update_work with operation: "prompt", the target to_agent_id, content, and an idempotency_key; a reply uses operation: "reply" and reply_to_message_id. A receipt-bearing adapter steers a busy turn or starts an idle turn. Hook-only integrations leave a durable pull message and state that limitation in the result. Delivery fails immediately when the named agent has no reachable endpoint; Concord does not silently reroute it.

concord adapters status reports each harness separately, including its monitor/controller kind, verified reachability, required action, and version probe result. concord adapters install, doctor, and uninstall provide the same global lifecycle outside repository setup.

Concord resolves the repository workspace automatically. Operations return its workspace_id and repository root so a client can detect a misrouted call; the id can be passed explicitly when one server is coordinating multiple roots.

Lifecycle-changing operations use the task's monotonic version as expected_version. If two agents act on the same version, only the first transition succeeds. Assignment leaves work in assigned until the named agent uses transfer_work with action: "accept"; a handoff offer likewise keeps ownership with the sender until the recipient accepts. Every ownership change is retained in an append-only audit history.

What you get

SQLite is the local source of truth, kept in the .concord/ at the root of the repo the work is happening in. The MCP server resolves that root from CONCORD_REPO_ROOT if set, then Claude Code's CLAUDE_PROJECT_DIR (which Claude Code sets automatically, even for a user-scoped server), then its working directory — so every agent in one repo shares one store. Set CONCORD_REPO_ROOT when running the server somewhere its working directory is not inside the repo.

Linked Git worktrees follow Git's commondir metadata to the primary checkout, so the main checkout and all linked worktrees intentionally share one Concord database and workspace id.

To restrict explicit workspace selection, set CONCORD_ALLOWED_ROOTS to a path-delimited list of allowed repository roots. Without an allowlist, decoded roots must still exist and be directories.

concord setup writes a .concord/.gitignore containing *, so the generated workspace ignores itself and stays local without editing the repository's shared .gitignore. Teams that want selected artifacts in PRs can add negation rules to that file (setup keeps existing rules, only ensuring the * catch-all) or force-add the human-readable files. Repositories set up by Concord 0.10.5 or earlier also have a .concord/ rule in the root .gitignore; remove it before negations in .concord/.gitignore can take effect.

text
.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

CLI

Concord supports both typed MCP tools and a regular CLI. MCP-capable agents can call the tools directly; humans and CLI-oriented agents can work with the same shared workspace through concord commands.

bash
concord setup                # set up local state, instructions, and MCP clientsconcord status               # roster, active work, overlaps, stale claims, review-readyconcord dashboard            # live, keyboard-driven view of agents, tasks, alerts, and activityconcord who                  # which agents are present and what they are working onconcord tasks                # list all tracked tasksconcord handoff <task-id>    # print the latest handoffconcord review-packet <id>   # print the latest review packetconcord export markdown      # regenerate .concord/ artifactsconcord 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 adoptionconcord adapters status      # global harness delivery capability matrix
concord --repo ../project status        # select by repository path from anywhereconcord --workspace ws_... status       # select an id returned by a Concord operation

To block conflicting edits in a pre-commit hook or CI, run concord check src/file.ts (or concord check --task <id> src/file.ts to exclude your own task). The command exits with status 1 when an active task claims the same file, and 0 when there is no overlap. Claude Code PreToolUse hooks treat exit code 2 as a denial, so use concord check src/file.ts || exit 2 in that hook.

--repo and --workspace are global, mutually exclusive options. The CLI uses the same CONCORD_REPO_ROOT → CLAUDE_PROJECT_DIR → working-directory priority and the same linked-worktree canonicalization as MCP.

concord dashboard is a read-only, full-screen local TUI. It refreshes from the shared SQLite workspace every second while keeping agents, tasks, alerts, context, and timeline inside a fixed terminal viewport. Use Tab to change panes, j/k or the arrow keys to select work, / to filter, ? for help, and q to quit.

Upgrade

bash
npm install -g @concord-ai/concord-mcp@latestconcord --version

Rerun the curl … | sh installer to upgrade a self-contained install.

Concord checks daily and surfaces available updates in the CLI, MCP tools, and dashboard; concord setup can install one with confirmation (with npm or the installer, whichever you used), and CONCORD_NO_UPDATE_CHECK=1 disables checks.

What this is / is not

Shared work-state and task memory for coding agents using the same local checkout. Not an orchestrator, code reviewer, hosted sync service, memory vector DB, or autonomous coding agent.

See also: Why not just use markdown?

Contributing

See CONTRIBUTING.md and CLAUDE.md. This repo is strictly typed (no any, no typecasts) and modular. Good first issues are labelled good first issue.

Star History

[Star History Chart]

Privacy & telemetry

Concord sends product and coordination telemetry to getconcord.ai. It includes random installation/invocation identifiers; irreversible per-install workspace and task-flow pseudonyms; Concord/Node/platform versions; normalized client metadata; operation names, outcomes, and durations; aggregate overlap/edit-guard results; message delivery stages and latencies; task lifecycle transitions and elapsed time; and explicitly reported acceptance, integration, human-intervention, and rework outcomes.

Concord never sends code, raw file or repository paths, remotes, usernames, raw task or agent identifiers, message identifiers or content, command arguments, tool inputs/outputs, or task content. The receiving server stores the request IP address and derives/stores a country code. Those server-side fields currently have no automatic expiry. Set CONCORD_TELEMETRY_DISABLED=1 (or DO_NOT_TRACK=1) to disable telemetry. Delivery is best effort and can never make a Concord operation fail.

License

MIT

來源:README.md,提交 6e39ff0

工具

5

start_work

Start work

Enter one task before editing: register or refresh this agent, accept addressed work when needed, claim the declared scope, and return actionable overlap warnings.

輸入參數cwdpidkind必填modelnotesownertitle必填branchdomainsmodulessummarytask_id必填另有 6 個

inspect_work

Inspect work

Read the workspace, one task, one agent communication inbox/outbox, or one durable prompt/reply thread by supplying at most one selector.

輸入參數task_idagent_idmessage_idworkspace_id

update_work

Update work

Record task context or deliver a live prompt/reply to another promptable workspace agent.

輸入參數kindcontent必填task_idagent_idoperationto_agent_idworkspace_iddelivery_modeidempotency_keyreply_to_message_id

transfer_work

Transfer work

Apply one versioned ownership action: assign, accept, decline, release, reassign, offer an evidence-bearing handoff, or reopen terminal work.

輸入參數forceaction必填reasontask_id必填agent_iddecisionstests_runhandoff_idnext_stepsassumptionsknown_risksto_agent_id另有 7 個

finish_work

Finish work

Record completion evidence and atomically leave the task active as a handoff, mark it review-ready, or close it with a complete/closed outcome.

輸入參數reasonoutcometask_id必填agent_iddecisionsdiff_sizetests_runnext_stepsprovenanceassumptionsknown_riskswhat_changed必填另有 7 個

版本歷史

13
  1. v0.20.0最新Nov 6, 2026
  2. v0.19.0Oct 30, 2026
  3. v0.18.0Oct 29, 2026
  4. v0.16.0Oct 22, 2026
  5. v0.15.0Oct 21, 2026
  6. v0.14.2Oct 19, 2026
  7. v0.14.1Oct 17, 2026
  8. v0.14.0Oct 12, 2026
  9. v0.13.0Oct 12, 2026
  10. v0.12.0Oct 9, 2026
  11. v0.11.0Oct 6, 2026
  12. v0.10.5Sep 23, 2026
  13. v0.10.4Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Concord 整合