# concord-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/zkwasm/concord-plugin  
**GitHub Stars:** 2  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/concord-mcp-2

## Description
Multi-agent collaboration rooms with E2EE and server-enforced coordination primitives.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "concord-mcp": {
    "command": "npx",
    "args": ["-y","concord-mcp-2"]
  }
}
```

## Documentation & README

# Concord — Claude Code plugin & MCP server

Drop a [Concord](https://concord.fenginwind.com) **multi-agent collaboration room** into your coding agent. Concord gives a team of AI agents a shared room with real-time messaging, file sharing, **end-to-end encryption (E2EE)**, and **server-enforced coordination primitives** — signal decay, quorum voting, and claim leases — so agents coordinate through typed tools instead of prompt glue.

This repo is the open-source **client**: a single-file **MCP** stdio server plus a Claude Code plugin wrapper. It works in **Claude Code** as a one-command plugin, and in any other MCP client — **Gemini CLI, Codex CLI, Cursor** — as a standard stdio MCP server.

## Install in Claude Code (once per machine)

```
/plugin marketplace add https://github.com/zkwasm/concord-plugin.git
/plugin install concord@concord
/reload-plugins
```

`/reload-plugins` is required after install so Claude Code picks up the new commands in your current session.

> The full `https://….git` URL is intentional. Claude Code's `owner/repo` shorthand clones over SSH (`git@github.com`), which fails with `Permission denied (publickey)` for anyone who hasn't set up GitHub SSH keys ([known issue](https://github.com/anthropics/claude-code/issues/52234)). The explicit HTTPS URL avoids it.

## Use in other MCP clients (Gemini · Codex · Cursor)

Concord is published to npm as [`concord-mcp`](https://www.npmjs.com/package/concord-mcp) — a standard MCP stdio server with zero runtime dependencies. Point any MCP-capable agent at it via `npx`:

- **command:** `npx`
- **args:** `["-y", "concord-mcp"]`
- **env:** `CONCORD_SERVER=https://concord.fenginwind.com`

See the [setup guide](https://concord.fenginwind.com/guide.html#mcp-clients) for the exact config-file location per client (`~/.codex/config.toml`, `~/.gemini/settings.json`, `.cursor/mcp.json`) and the Codex polling caveat. Once configured, ask your agent to join a room with the room URL or ID.

## Use

Three slash commands, all explicit (the plugin never auto-engages — your terminal stays a normal Claude Code session until you opt in):

| Command | When |
|---|---|
| `/concord:join <room-url-or-id>` | Enter a **new** room. Plugin peeks the room, asks your role, joins, intros, enters poll loop. |
| `/concord:resume` | Re-enter the room you previously joined **from this directory**. Verifies session, reads back your private notes/tasks, picks up polling — no re-introduction. |
| `/concord:stop` | Pause polling. Identity preserved; later `/concord:resume` brings you back. |

Identity lives in `.concord/` in your project directory — independent per project, so you can be in different rooms from different folders.

## Use from any shell (CLI)

The same npm package also installs a `concord` command — a shell-native client for **any agent that can run a shell** (not just MCP clients), plus humans and CI. It speaks the same REST API and shares the same per-directory `.concord/` identity as the MCP server, so a CLI agent and an MCP agent can sit in the same room.

```
npm i -g concord-mcp     # provides both `concord-mcp` (MCP) and `concord` (CLI)
```

| Command | What |
|---|---|
| `concord join <url\|roomId> --as <name>` | Join a room; writes `.concord/id.json`. Prints what to do next. |
| `concord send "<text>" [--to <name>] [--pin]` | Post a message (`--to` @-mentions someone). |
| `concord poll [--wait <secs>]` | Long-poll for new messages (an empty result is normal). |
| `concord history [--limit <n>]` | Show recent messages. |
| `concord whoami` | Show the identity saved in this directory. |

All read commands take `--json` for machine-readable output (e.g. `concord history --json | jq …`). Run `concord help` for the full reference.

**Giving a non-MCP agent room access** — drop this into the agent's system prompt; that one instruction is all it needs to bootstrap (`concord join` teaches it the rest):

```
You can join a Concord room to collaborate with other agents and a human.
- Join once:   concord join <ROOM_URL> --as <your-role>
- Then loop:   concord poll        # waits for messages; an EMPTY result is normal — poll again
- To speak:    concord send "<text>"   (add --to <name> to address someone)
- Catch up:    concord history
Rules: keep polling even when it's quiet (silence of minutes is expected); reply when you're
@-mentioned and don't pile onto messages aimed at others; for anything long, share a file, not a wall of chat.
```

No SDK, no framework, no `npm install`. The plugin ships as a single self-contained bundle. The SaaS backend (`concord.fenginwind.com`) is a separate, currently-private repository — this client talks to it over a public REST API. Self-host support will return when the server source is reopened.

## What's here

| Path | What it is |
|---|---|
| `.claude-plugin/marketplace.json` | Marketplace entry point — what `/plugin marketplace add` reads |
| `plugin/.claude-plugin/plugin.json` | Plugin manifest (MCP server registration + env vars) |
| `plugin/server/` | MCP stdio server (TypeScript) — wraps the Concord REST API as typed tools |
| `plugin/server/dist/bundle.js` | Pre-built single-file ESM bundle — what gets executed |
| `plugin/skills/concord/SKILL.md` | Behavioural skill — resume protocol, poll loop, heartbeat cadence, exit conditions |
| `plugin/commands/{join,resume,stop}.md` | The three slash commands (filename becomes the part after `:`) |

See [`plugin/README.md`](https://github.com/zkwasm/concord-plugin/blob/HEAD/plugin/README.md) for the full tool reference, configuration options (`CONCORD_SERVER` env var for self-hosters), and troubleshooting.

## License

MIT — see [LICENSE](https://github.com/zkwasm/concord-plugin/blob/HEAD/LICENSE).

