Concord MCP
Estado de trabalho compartilhado local-first para agentes de codificação (Claude Code, Cursor, Codex, Gemini, Grok): presença, reivindicações de tarefas, avisos de sobreposição, mensagens ao vivo entre agentes, transferências de propriedade e pacotes de revisão.
Documentação
Concord MCP
Deixe Claude Code, Codex, Cursor, Gemini CLI e Grok Build conversarem entre si.
A camada de comunicação e coordenação open-source, local-first para agentes de IA de codificação. Envie mensagens ao vivo entre harnesses, detecte sobreposição de trabalho antes que os agentes editem, compartilhe decisões e entregue tarefas com evidências — através de um único servidor MCP.
Demo · Início rápido · Agentes suportados · Site · Contribuição
Veja funcionando
Dois agentes em harnesses diferentes podem se descobrir, trocar mensagens e dividir trabalho sem que um humano precise repassar o contexto entre eles:
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.
Execute a demonstração real Claude Code ↔ Codex para ver ambos os agentes resolverem uma reivindicação sobreposta através de um prompt/resposta ao vivo, criarem um aplicativo jogável, transferirem a propriedade e entregarem o resultado a um revisor independente.
Início rápido
npm install -g @concord-ai/concord-mcp
cd /path/to/your/repository
concord setup
Reinicie seus clientes de agente e peça a dois deles para trabalharem no mesmo repositório. O Concord dá a eles um espaço de trabalho compartilhado e torna sessões alcançáveis disponíveis para prompts e respostas diretos.
O que o concord setup altera
concord setup cria o espaço de trabalho local .concord/, registra o servidor MCP
para Claude, Cursor, Gemini, Grok e Codex (.mcp.json, .cursor/mcp.json,
.gemini/settings.json, .grok/config.toml e ~/.codex/config.toml) e escreve
as instruções de ferramentas do Concord nas suas configurações de cliente (CLAUDE.md, AGENTS.md,
.codex/, .cursor/rules/). Ele mescla na configuração existente em vez de substituí-la
e é seguro executar novamente.
A configuração também detecta clientes suportados e tenta instalar seus adaptadores globais do Concord
de forma independente. Use --no-adapters para pular essa etapa ou
--require-adapters em instalações gerenciadas que devem falhar em suporte degradado.
Passe --no-mcp para escrever apenas o espaço de trabalho e as instruções enquanto gerencia o registro
MCP você mesmo.
Agentes suportados
| Agente | Guia de integração |
|---|---|
| Claude Code | Configuração e entrega |
| Codex | Configuração e entrega |
| Cursor | Configuração e entrega |
| Gemini CLI | Configuração e entrega |
| Grok Build | Configuração e entrega |
| Qualquer outro agente de codificação compatível com MCP | Estado de trabalho compartilhado através das cinco ferramentas MCP |
Não existe um comando de barra universal
/concord— os comandos são específicos do cliente. O Concord funciona através de ferramentas MCP mais as instruções instaladas em qualquer cliente compatível com MCP.
A entrega ao vivo depende do harness receptor e do estado da sessão. Execute
concord adapters status para ver quais agentes instalados estão alcançáveis e como
as mensagens serão entregues.
A comunicação é o ponto de partida
A mensageria faz os agentes conversarem. O estado de trabalho compartilhado do Concord mantém a colaboração resultante confiável após a mensagem ser entregue.
| Sem Concord | Com Concord |
|---|---|
| Agentes não podem contatar pares em outro harness | Agentes enviam prompts diretos e respondíveis entre clientes suportados |
| Agentes descobrem colisões após editar | Agentes reivindicam arquivos e módulos antes do trabalho começar |
| O contexto desaparece quando uma sessão termina | Decisões, suposições e descobertas permanecem anexadas à tarefa |
| A propriedade é implícita pelo histórico do chat | Atribuições e entregas são explícitas e reconhecidas |
| Humanos reconstroem o progresso a partir de branches e diffs | Pacotes de revisão chegam com escopo, testes, riscos e proveniência |
O Concord não é outro agente autônomo ou orquestrador. É a camada compartilhada ao redor dos seus agentes: presença, mensageria, memória de tarefas, propriedade, entregas e estado de revisão através de um pequeno servidor MCP.
As ferramentas
| Ferramenta | Propósito |
|---|---|
start_work | registra presença, reivindica ou aceita uma tarefa e relata sobreposições de escopo antes de editar |
inspect_work | lê o estado do espaço de trabalho/tarefa, uma caixa de entrada/saída do agente ou um thread de prompt/resposta durável |
update_work | registra contexto da tarefa ou imediatamente envia prompt/resposta a outro agente do espaço de trabalho com prompt |
transfer_work | atribui, aceita, recusa, libera, reatribui, oferece entregas ou reabre trabalho versionado |
finish_work | registra evidências e opcionalmente marca uma tarefa como pronta para revisão, completa ou fechada |
Escritas aceitam um agent_id, que mantém a presença ativa apenas trabalhando.
inspect_work mostra quem está aqui e sinaliza reivindicações obsoletas — uma
reivindicação ativa cujo agente proprietário foi embora sem entregar.
Para comunicação ao vivo entre agentes, execute concord setup e reinicie as sessões
de clientes existentes uma vez. Um prompt usa update_work com operation: "prompt", o
to_agent_id alvo, conteúdo e um idempotency_key; uma resposta usa
operation: "reply" e reply_to_message_id. Um adaptador com comprovante direciona
uma rodada ocupada ou inicia uma rodada ociosa. Integrações apenas com hooks deixam uma mensagem
de pull durável e indicam essa limitação no resultado. A entrega falha imediatamente
quando o agente nomeado não tem endpoint alcançável; o Concord não o
redireciona silenciosamente.
concord adapters status relata cada harness separadamente, incluindo seu
tipo de monitor/controlador, alcançabilidade verificada, ação necessária e resultado
da sondagem de versão. concord adapters install, doctor e uninstall fornecem o
mesmo ciclo de vida global fora da configuração do repositório.
O Concord resolve o espaço de trabalho do repositório automaticamente. As operações retornam seu
workspace_id e a raiz do repositório para que um cliente possa detectar uma chamada mal roteada; o
id pode ser passado explicitamente quando um servidor está coordenando múltiplas raízes.
Operações que alteram o ciclo de vida usam o version monotônico da tarefa como
expected_version. Se dois agentes agem na mesma versão, apenas a primeira
transição é bem-sucedida. A atribuição deixa o trabalho em assigned até que o agente nomeado
use transfer_work com action: "accept"; uma oferta de entrega também mantém a
propriedade com o remetente até que o destinatário aceite. Cada mudança de propriedade
é retida em um histórico de auditoria somente anexação.
O que você obtém
SQLite é a fonte de verdade local, mantida no .concord/ na raiz do
repositório onde o trabalho está acontecendo. O servidor MCP resolve essa raiz a partir de
CONCORD_REPO_ROOT se definido, depois do CLAUDE_PROJECT_DIR do Claude Code (que o Claude Code
define automaticamente, mesmo para um servidor com escopo de usuário), depois do seu diretório
de trabalho — então cada agente em um repositório compartilha um único armazenamento. Defina CONCORD_REPO_ROOT
ao executar o servidor em algum lugar onde seu diretório de trabalho não esteja dentro do repositório.
Worktrees Git vinculados seguem os metadados commondir do Git até o checkout
principal, então o checkout principal e todos os worktrees vinculados compartilham intencionalmente um único banco de dados
do Concord e id de espaço de trabalho.
Para restringir a seleção explícita de espaço de trabalho, defina CONCORD_ALLOWED_ROOTS para uma
lista delimitada por caminho de raízes de repositório permitidas. Sem uma lista de permissões, raízes
decodificadas ainda devem existir e ser diretórios.
concord setup adiciona .concord/ ao
.gitignore do repositório, então o espaço de trabalho gerado permanece local por padrão.
Equipes que querem artefatos selecionados em PRs podem remover essa regra ou forçar a adição dos
arquivos legíveis por humanos:
.concord/
├── concord.db local source of truth
├── HANDOFF.md human-readable handoff
├── REVIEW_PACKET.md review-ready evidence
└── WORK_STATE.json generated export (optional)
CLI
O Concord suporta tanto ferramentas MCP tipadas quanto uma CLI regular. Agentes compatíveis com MCP podem
chamar as ferramentas diretamente; humanos e agentes orientados a CLI podem trabalhar com o mesmo
espaço de trabalho compartilhado através de comandos 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 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
--repo e --workspace são opções globais mutuamente exclusivas. A CLI usa a mesma
prioridade CONCORD_REPO_ROOT → CLAUDE_PROJECT_DIR → diretório de trabalho
e a mesma canonicalização de worktree vinculado que o MCP.
concord dashboard é um TUI local de tela cheia somente leitura. Ele atualiza a partir do
espaço de trabalho SQLite compartilhado a cada segundo enquanto mantém agentes, tarefas, alertas,
contexto e linha do tempo dentro de um viewport de terminal fixo. Use Tab para mudar
painéis, j/k ou as teclas de seta para selecionar trabalho, / para filtrar, ? para ajuda
e q para sair.
Atualização
npm install -g @concord-ai/concord-mcp@latest
concord --version
O Concord verifica diariamente e exibe atualizações disponíveis na CLI, ferramentas MCP e
painel; concord setup pode instalar uma com confirmação, e
CONCORD_NO_UPDATE_CHECK=1 desativa as verificações.
O que isto é / não é
Estado de trabalho compartilhado e memória de tarefas para agentes de codificação usando o mesmo checkout local. Não é um orquestrador, revisor de código, serviço de sincronização hospedado, banco vetorial de memória ou agente de codificação autônomo.
Veja também: Por que não usar apenas markdown?
Contribuição
Veja CONTRIBUTING.md e CLAUDE.md. Este
repositório é estritamente tipado (sem any, sem typecasts) e modular. Boas primeiras issues
são rotuladas como good first issue.
Histórico de estrelas
Privacidade e telemetria
O Concord envia telemetria de produto e coordenação para getconcord.ai. Ela inclui
identificadores aleatórios de instalação/invocação; pseudônimos irreversíveis de espaço de trabalho e fluxo de tarefas por instalação;
versões do Concord/Node/plataforma; metadados de cliente normalizados;
nomes de operações, resultados e durações; resultados agregados de sobreposição/guarda de edição;
estágios de entrega de mensagens e latências; transições de ciclo de vida de tarefas e
tempo decorrido; e resultados explicitamente relatados de aceitação,
integração, intervenção humana e retrabalho.
O Concord nunca envia código, caminhos brutos de arquivos ou repositórios, remotos, nomes de usuário, tarefas brutas
ou identificadores de agentes, identificadores ou conteúdo de mensagens, argumentos de comando,
entradas/saídas de ferramentas ou conteúdo de tarefas. O servidor receptor armazena o endereço IP da solicitação
e deriva/armazena um código de país. Esses campos do lado do servidor atualmente
não têm expiração automática. Defina CONCORD_TELEMETRY_DISABLED=1 (ou
DO_NOT_TRACK=1) para desativar a telemetria. A entrega é melhor esforço e nunca pode
fazer uma operação do Concord falhar.