Concord MCP
Estado de trabajo compartido local-primero para agentes de codificación (Claude Code, Cursor, Codex, Gemini, Grok): presencia, reclamos de tareas, advertencias de superposición, mensajería en vivo entre agentes, transferencias de propiedad y paquetes de revisión.
Documentación
Concord MCP
Permite que Claude Code, Codex, Cursor, Gemini CLI y Grok Build se comuniquen entre sí.
La capa de comunicación y coordinación de código abierto, local-first para agentes de IA de codificación. Envía mensajes en vivo entre entornos, detecta trabajo superpuesto antes de que los agentes editen, comparte decisiones y transfiere tareas con evidencia, a través de un solo servidor MCP.
Demo · Inicio rápido · Agentes compatibles · Sitio web · Contribuciones
Verlo en acción
Dos agentes en diferentes entornos pueden descubrirse entre sí, intercambiar mensajes y dividir el trabajo sin que un humano tenga que transmitir el contexto entre ellos:
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.
Ejecuta la demo real de Claude Code ↔ Codex para ver cómo ambos agentes resuelven una reclamación superpuesta mediante un prompt/respuesta en vivo, crean una aplicación jugable, transfieren la propiedad y entregan el resultado a un revisor independiente.
Inicio rápido
npm install -g @concord-ai/concord-mcp
cd /path/to/your/repository
concord setup
Reinicia tus clientes de agentes y luego pide a dos de ellos que trabajen en el mismo repositorio. Concord les proporciona un espacio de trabajo compartido y hace que las sesiones alcanzables estén disponibles para prompts y respuestas directas.
Qué cambia concord setup
concord setup crea el espacio de trabajo local .concord/, registra el servidor MCP
para Claude, Cursor, Gemini, Grok y Codex (.mcp.json, .cursor/mcp.json,
.gemini/settings.json, .grok/config.toml y ~/.codex/config.toml) y escribe
las instrucciones de las herramientas de Concord en tus configuraciones de cliente (CLAUDE.md, AGENTS.md,
.codex/, .cursor/rules/). Se fusiona con la configuración existente en lugar de reemplazarla
y es seguro volver a ejecutarlo.
La configuración también detecta clientes compatibles e intenta instalar sus adaptadores globales de Concord
de forma independiente. Usa --no-adapters para omitir ese paso o
--require-adapters en instalaciones gestionadas que deban fallar ante soporte degradado.
Pasa --no-mcp para escribir solo el espacio de trabajo y las instrucciones mientras gestionas el registro
MCP tú mismo.
Agentes compatibles
| Agente | Guía de integración |
|---|---|
| Claude Code | Configuración y entrega |
| Codex | Configuración y entrega |
| Cursor | Configuración y entrega |
| Gemini CLI | Configuración y entrega |
| Grok Build | Configuración y entrega |
| Cualquier otro agente de codificación compatible con MCP | Estado de trabajo compartido a través de las cinco herramientas MCP |
No existe un comando de barra universal
/concord— los comandos son específicos del cliente. Concord funciona a través de herramientas MCP más las instrucciones instaladas en cualquier cliente compatible con MCP.
La entrega en vivo depende del entorno receptor y del estado de la sesión. Ejecuta
concord adapters status para ver qué agentes instalados son alcanzables y cómo se
entregarán los mensajes.
La comunicación es el punto de partida
La mensajería hace que los agentes hablen entre sí. El estado de trabajo compartido de Concord mantiene la colaboración resultante fiable después de que se entregue el mensaje.
| Sin Concord | Con Concord |
|---|---|
| Los agentes no pueden contactar a pares en otro entorno | Los agentes envían prompts directos y respondibles entre clientes compatibles |
| Los agentes descubren colisiones después de editar | Los agentes reclaman archivos y módulos antes de comenzar el trabajo |
| El contexto desaparece cuando termina una sesión | Las decisiones, suposiciones y hallazgos permanecen vinculados a la tarea |
| La propiedad se infiere del historial del chat | Las asignaciones y transferencias son explícitas y reconocidas |
| Los humanos reconstruyen el progreso desde ramas y diffs | Los paquetes de revisión llegan con alcance, pruebas, riesgos y procedencia |
Concord no es otro agente autónomo u orquestador. Es la capa compartida alrededor de tus agentes: presencia, mensajería, memoria de tareas, propiedad, transferencias y estado de revisión a través de un pequeño servidor MCP.
Las herramientas
| Herramienta | Propósito |
|---|---|
start_work | registra presencia, reclama o acepta una tarea y reporta superposiciones de alcance antes de editar |
inspect_work | lee el estado del espacio de trabajo/tarea, una bandeja de entrada/salida del agente o un hilo de prompt/respuesta duradero |
update_work | registra el contexto de la tarea o envía inmediatamente un prompt/respuesta a otro agente del espacio de trabajo con prompt |
transfer_work | asigna, acepta, rechaza, libera, reasigna, ofrece transferencias o reabre trabajo versionado |
finish_work | registra evidencia y opcionalmente marca una tarea como lista para revisión, completa o cerrada |
Las escrituras aceptan un agent_id, que mantiene la presencia activa solo con trabajar.
inspect_work muestra quién está aquí y marca reclamaciones obsoletas — una
reclamación activa cuyo agente propietario se ha ido sin transferirla.
Para comunicación en vivo entre agentes, ejecuta concord setup, luego reinicia las sesiones
de clientes existentes una vez. Un prompt usa update_work con operation: "prompt", el
to_agent_id objetivo, contenido y un idempotency_key; una respuesta usa
operation: "reply" y reply_to_message_id. Un adaptador con confirmación de recepción dirige
un turno ocupado o inicia un turno inactivo. Las integraciones solo con hooks dejan un mensaje
de extracción duradero y limitan ese estado en el resultado. La entrega falla inmediatamente
cuando el agente nombrado no tiene un endpoint alcanzable; Concord no lo
redirige silenciosamente.
concord adapters status reporta cada entorno por separado, incluido su
tipo de monitor/controlador, alcanzabilidad verificada, acción requerida y resultado de la
sonda de versión. concord adapters install, doctor y uninstall proporcionan el
mismo ciclo de vida global fuera de la configuración del repositorio.
Concord resuelve el espacio de trabajo del repositorio automáticamente. Las operaciones devuelven su
workspace_id y la raíz del repositorio para que un cliente pueda detectar una llamada mal enrutada; el
id se puede pasar explícitamente cuando un servidor coordina múltiples raíces.
Las operaciones que cambian el ciclo de vida usan el version monotónico de la tarea como
expected_version. Si dos agentes actúan sobre la misma versión, solo la primera
transición tiene éxito. La asignación deja el trabajo en assigned hasta que el agente nombrado
use transfer_work con action: "accept"; una oferta de transferencia también mantiene la
propiedad con el remitente hasta que el destinatario la acepta. Cada cambio de propiedad
se conserva en un historial de auditoría de solo anexión.
Lo que obtienes
SQLite es la fuente de verdad local, mantenida en el .concord/ en la raíz de
la repo donde ocurre el trabajo. El servidor MCP resuelve esa raíz desde
CONCORD_REPO_ROOT si está configurado, luego el CLAUDE_PROJECT_DIR de Claude Code (que Claude
Code establece automáticamente, incluso para un servidor de ámbito de usuario), luego su directorio
de trabajo — para que cada agente en una repo comparta un solo almacén. Establece CONCORD_REPO_ROOT
cuando ejecutes el servidor en un lugar donde su directorio de trabajo no esté dentro de la repo.
Los worktrees de Git vinculados siguen los metadatos commondir de Git hasta el checkout
principal, por lo que el checkout principal y todos los worktrees vinculados comparten intencionalmente una
base de datos y un id de espacio de trabajo de Concord.
Para restringir la selección explícita del espacio de trabajo, establece CONCORD_ALLOWED_ROOTS a una
lista delimitada por rutas de raíces de repositorio permitidas. Sin una lista de permitidos, las raíces
decodificadas deben existir y ser directorios.
concord setup agrega .concord/ al
.gitignore del repositorio, por lo que el espacio de trabajo generado permanece local por defecto.
Los equipos que quieran artefactos seleccionados en PRs pueden eliminar esa regla o forzar la adición de los
archivos legibles 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
Concord admite tanto herramientas MCP tipadas como una CLI regular. Los agentes compatibles con MCP pueden
llamar a las herramientas directamente; los humanos y los agentes orientados a CLI pueden trabajar con el mismo
espacio de trabajo compartido a travé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 y --workspace son opciones globales mutuamente excluyentes. La CLI usa la misma
prioridad CONCORD_REPO_ROOT → CLAUDE_PROJECT_DIR → directorio de trabajo
y la misma canonicalización de worktrees vinculados que MCP.
concord dashboard es una TUI local de pantalla completa de solo lectura. Se actualiza desde el
espacio de trabajo SQLite compartido cada segundo mientras mantiene agentes, tareas, alertas,
contexto y línea de tiempo dentro de un viewport de terminal fijo. Usa Tab para cambiar
paneles, j/k o las teclas de flecha para seleccionar trabajo, / para filtrar, ? para ayuda
y q para salir.
Actualización
npm install -g @concord-ai/concord-mcp@latest
concord --version
Concord verifica diariamente y muestra actualizaciones disponibles en la CLI, herramientas MCP y
panel; concord setup puede instalar una con confirmación, y
CONCORD_NO_UPDATE_CHECK=1 desactiva las verificaciones.
Qué es / qué no es
Estado de trabajo compartido y memoria de tareas para agentes de codificación que usan el mismo checkout local. No es un orquestador, revisor de código, servicio de sincronización alojado, base de datos vectorial de memoria o agente de codificación autónomo.
Ver también: ¿Por qué no usar solo markdown?
Contribuciones
Ver CONTRIBUTING.md y CLAUDE.md. Esta
repo está estrictamente tipada (sin any, sin typecasts) y es modular. Los buenos primeros
problemas están etiquetados como good first issue.
Historial de estrellas
Privacidad y telemetría
Concord envía telemetría de producto y coordinación a getconcord.ai. Incluye
identificadores aleatorios de instalación/invocación; seudónimos irreversibles de espacio de trabajo y flujo de tareas por instalación;
versiones de Concord/Node/plataforma; metadatos de cliente normalizados;
nombres de operaciones, resultados y duraciones; resultados agregados de superposición/guardia de edición;
etapas y latencias de entrega de mensajes; transiciones del ciclo de vida de tareas y
tiempo transcurrido; y resultados de aceptación, integración, intervención humana y retrabajo
reportados explícitamente.
Concord nunca envía código, rutas de archivos o repositorios sin procesar, remotos, nombres de usuario, tareas
o identificadores de agentes sin procesar, identificadores o contenido de mensajes, argumentos de comandos,
entradas/salidas de herramientas o contenido de tareas. El servidor receptor almacena la dirección IP de la solicitud
y deriva/almacena un código de país. Esos campos del lado del servidor actualmente
no tienen expiración automática. Establece CONCORD_TELEMETRY_DISABLED=1 (o
DO_NOT_TRACK=1) para desactivar la telemetría. La entrega es de mejor esfuerzo y nunca puede
hacer fallar una operación de Concord.