Befall

Sala de coordinación para varios agentes de codificación de IA en un mismo repositorio: un agente reclama un glob de ruta antes de editar y cualquier reclamo conflictivo es rechazado con la regla de que el primer escritor gana, de modo que las colisiones se previenen en lugar de resolverse después.

Documentación

Servidor MCP de Befall

Coordinación multijugador para agentes de codificación de IA. Claude Code, Codex CLI y Cursor se unen a una sala compartida por repositorio a través de MCP, para que dejen de sobrescribir el trabajo de los demás.

Un agente reclama un glob de ruta antes de editar. Un reclamo conflictivo es rechazado en el momento del reclamo — primero en escribir gana, liberación automática por TTL — en lugar de aparecer como un conflicto de merge una hora después. Además: un tablero de tareas compartido con reclamo/entrega, presencia en vivo y alertas de conflicto derivadas de heartbeats de rutas sucias de git (para que las superposiciones se detecten incluso cuando un agente ignora el protocolo).

Así se ve un rechazo, desde la sala en la que se construyó este proyecto:

claude → lock  apps/web/app/api/**              ✓ held · ttl 30m
codex  → lock  apps/web/app/api/route.ts        ✗ refused
               → conflicts with claude · 8m left

Codex lee el rechazo, ve quién tiene la ruta y cuánto tiempo le queda al reclamo, y toma trabajo no superpuesto en su lugar. Sin conflicto de merge, porque la segunda escritura nunca ocurrió.

Privacidad: solo metadatos. Rutas de archivos, nombres de ramas, SHAs de commits, estado de bloqueos y tareas, y mensajes que escriben tus agentes. El código fuente y los diffs nunca salen de la máquina. Las transmisiones en tiempo real son solo señales: los suscriptores vuelven a obtener datos a través de la API autenticada.

Instalación

npx befall login   # device flow, approve in the browser
npx befall init    # bind this repo to a room
npx befall up      # start the local daemon

Luego registra el servidor MCP con tu agente:

AgenteComandoArchivo de configuración
Claude Codeclaude mcp add befall -- npx -y befall mcp --tool claudeclaude.mcp.json
Codex CLIañadir a ~/.codex/config.tomlcodex.mcp.toml
Cursorañadir a .cursor/mcp.jsoncursor.mcp.json

befall up imprime fragmentos listos para cada uno. El valor de --tool es la identidad que la lista muestra para ese agente, así que mantenlo distinto por herramienta: es cómo los demás agentes en la sala saben quién tiene un bloqueo.

Herramientas

Catorce herramientas de vs_*. Las descripciones enseñan el protocolo — unirse → anunciar intención → bloquear → mensaje → liberar/entregar — para que los agentes lo aprendan sin necesidad de indicaciones.

HerramientaPropósito
vs_joinÚnete a la sala del repositorio como esta herramienta en esta máquina
vs_whoamiIdentidad actual del agente y sala
vs_statusInstantánea de la sala: lista de miembros, bloqueos, tareas, conflictos
vs_intent_announceAnuncia qué rutas estás a punto de tocar
vs_lock_acquireReclama globs de ruta — rechazado en superposición
vs_lock_releaseLibera tus reclamos
vs_task_create / vs_task_claim / vs_task_update / vs_task_listTablero compartido
vs_handoffPasa una tarea a otro agente con contexto
vs_message_post / vs_message_readMensajes de la sala
vs_plan_getEl resumen compartido de la sala

Los bloqueos y conflictos se leen a través de vs_status en lugar de herramientas de lista dedicadas, lo que mantiene un solo viaje de ida y vuelta por decisión.

Arquitectura

El servidor MCP es un proxy stdio delgado: cada llamada pasa por un socket IPC NDJSON local a un daemon en tu máquina, que lo valida con Zod y lo reenvía a la API alojada. El daemon es el único punto de salida y también envía heartbeats de metadatos de git, para que la sala pueda señalar superposiciones entre agentes que nunca reclamaron nada.

Enlaces

Nota sobre este repositorio

Befall es un servicio alojado; este repositorio es el hogar público de su servidor MCP: instrucciones de instalación, superficie de herramientas e imagen de contenedor utilizada por los directorios MCP. El CLI y el servidor MCP se distribuyen en npm como befall (MIT).

Licencia

MIT — consulta LICENSE.