SkillAgentSearch skills...

concord-mcp

Live messaging for coding agents

Install / Use

claude mcp add Get-Concord-AI -- npx -y github:Get-Concord-AI/concord-mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

85/100

Supported Platforms

Claude Code
Claude Desktop
Cursor
OpenAI Codex

Our assessment of concord-mcp

concord-mcp scores 85/100 on our quality scale, 312th of 414 Communication skills we index.

Its MCP Server is 16 KB long, well organised into 13 sections with 5 code examples: a thorough specification that gives an agent plenty to work with.

It has 516 GitHub stars, a meaningful sign that others use it.

Substance
30/30
Structure
20/20
Description
8/15
Adoption
12/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so concord-mcp is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 95/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

concord-mcp compared with similar skills

All 4 of these similar skills score higher than concord-mcp; compare them before choosing.

SkillScoreStarsUpdatedFormat
concord-mcp (this skill)by Get-Concord-AI85516todayMCP Server
Agent-Reachby Panniantong10097.7ktodayCLAUDE.md
headroomby headroomlabs-ai10075.4ktodayCLAUDE.md
CowAgentby zhayujie10047.4ktodayCLAUDE.md
Scraplingby D4Vinci10087.9ktodayMCP Server

Frequently asked questions

How do I install concord-mcp?
Run claude mcp add Get-Concord-AI -- npx -y github:Get-Concord-AI/concord-mcp. The install tabs above show the steps for each supported agent.
Which AI agents does concord-mcp work with?
It is written for Claude Code, Claude Desktop, Cursor and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
Is concord-mcp safe to use?
It is MIT-licensed and scores 95/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is concord-mcp still maintained?
The repository was last updated today, so concord-mcp is actively maintained.
<p align="center"> <a href="https://getconcord.ai"> <img src="./assets/concord-readme-header.png" alt="Concord MCP — shared work-state for coding agents" width="100%"> </a> </p> <h1 align="center">Concord MCP</h1> <p align="center"><strong>Let Claude Code, Codex, Cursor, Gemini CLI, Grok Build, and Goose talk to each other.</strong></p> <p align="center"> 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. </p> <p align="center"> <a href="https://www.npmjs.com/package/@concord-ai/concord-mcp"><img src="https://img.shields.io/npm/v/@concord-ai/concord-mcp.svg" alt="npm version"></a> <a href="https://www.npmjs.com/package/@concord-ai/concord-mcp"><img src="https://img.shields.io/npm/dm/@concord-ai/concord-mcp.svg" alt="npm downloads"></a> <a href="https://github.com/Get-Concord-AI/concord-mcp/actions/workflows/ci.yml"><img src="https://github.com/Get-Concord-AI/concord-mcp/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://www.npmjs.com/package/@concord-ai/concord-mcp"><img src="https://img.shields.io/node/v/@concord-ai/concord-mcp.svg" alt="Node.js version"></a> <a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License"></a> </p> <p align="center"> <a href="#see-it-work">Demo</a> · <a href="#quick-start">Quick start</a> · <a href="#supported-agents">Supported agents</a> · <a href="https://getconcord.ai">Website</a> · <a href="./CONTRIBUTING.md">Contributing</a> </p>

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

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.

<details> <summary>What <code>concord setup</code> changes</summary>

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) and 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.

</details> <details> <summary>Using Concord in repositories you have not set up</summary>

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

</details>

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 | | Any other MCP-capable coding agent | Shared work-state through the five MCP tools |

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 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 ends | Decisions, assumptions, and findings stay attached to the task | | Ownership is implied by chat history | Assignments and handoffs are explicit and acknowledged | | Humans reconstruct progress from branches and diffs | Review 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

| Tool | Purpose | | --------------- | ------------------------------------------------------------------------------------------- | | start_work | registers presence, claims or accepts one task, and reports scope overlaps before editing | | inspect_work | reads workspace/task state, an agent inbox/outbox, or a durable prompt/reply thread | | update_work | records task context or immediately prompts/replies to another promptable workspace agent | | transfer_work | assigns, accepts, declines, releases, reassigns, offers handoffs, or reopens versioned work | | finish_work | records 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.

.concord/
├── .gitignore          ignores the whole directory
├── concord.db          local source of truth
├── HANDOFF.md          human-readable handoff
├── REVIEW_PACKET.md    review-ready evidence
└── WORK_STATE.json     generated export (optional)

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.

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 doctor               # workspace checks + per-task tool adoption
concord adapters 

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars516
CategoryCommunication
Updated9h ago
Forks27

Languages

TypeScript

Trust signals

95/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 low