concord-mcp
Get-Concord-AI · Get-Concord-AI/concord-mcp
Enable different coding agents (like Claude Code and Cursor) to communicate, share decisions, and avoid overlapping work.
Live messaging for coding agents
Preview
What you can do with it
- Preventing two agents from editing the same file simultaneously
- Handing off a task from a coding agent to a specialized reviewer agent
- Sharing context between different IDE tools automatically
Safety check
Usable, but read the notes first.
- ●Installer downloads a remote script and pipes it to the shell.
install.sh
Automated scan of the repo files. Always review code you run.
From the README
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.
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:
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.
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
npm install -g @concord-ai/concord-mcp
cd /path/to/your/repository
concord setup
No Node.js? On macOS or Linux, install a self-contained build instead:
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.
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/. Turning global mode off
removes exactly what it added.
Supported agents
| Agent | Integration guide |
|---|---|
| Claude Code | Setup and delivery |
| Codex | Setup and delivery |
| Cursor | Setup and delivery |
| Gemini CLI | Setup and delivery |
| Grok Build | Setup and delivery |
| Goose | Setup and delivery |
| Google Antigravity | Setup and delivery |
| GitHub Copilot CLI | Setup and delivery |
| Any other MCP-capable coding agent | Manual setup |
There is no universal
/concordslash 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 Concord | With Concord |
|---|---|
| Agents cannot contact peers in another harness | Agents send direct, replyable prompts across supported clients |
| Agents discover collisions after editing | Agents claim files and modules before work begins |
| Context disappears when a session end |