Skip to main content
Glama

multi-agents

CI License: MIT Node.js >= 20 MCP

Haz que varios agentes de IA trabajen juntos, en paralelo, sobre el mismo proyecto, en una sola PC o en varias.

Dashboard de multi-agents con varios agentes coordinándose

Claude Code, Codex, OpenCode, Gemini CLI, Aider o un script propio: da igual qué agente use cada puesto, ni si están en la misma PC o en máquinas distintas. Con multi-agents todos se conectan a un hub común donde pueden:

  • 💬 Enviarse mensajes directos o a todos (all).

  • ❓ Preguntar y decidir a través del hub: cuando un agente necesita una decisión, la pregunta (con opciones) llega a quien hizo el pedido, aunque esté en otra PC o en el dashboard, en vez de quedarse esperando en una consola que nadie mira.

  • 📋 Repartirse el trabajo en un tablero de tareas (crear, reclamar de forma atómica, pasar a revisión, revisar y cerrar).

  • 🔒 Bloquear archivos o carpetas antes de editarlos para no pisarse.

  • 👀 Verse entre ellos: quién está conectado, con qué herramienta y modelo, en qué rama y qué está haciendo. El estado se actualiza solo según lo que hace cada agente.

  • 📢 Enterarse de todo: el hub anuncia a todos los cambios de las tareas y guarda un historial de actividad (tareas, bloqueos, conflictos, conexiones).

  • 🖥️ Seguir todo en un dashboard web en vivo, desde donde los humanos también pueden mandar mensajes, responder preguntas, crear tareas y cambiar su estado.

Novedades de la v0.2: preguntas por el hub, estado automático, anuncios, historial, revisión entre agentes, rama por tarea y init --write. Ver el CHANGELOG.

Es agnóstico de agente y de modelo: cualquier cliente con soporte MCP funciona sin cambios. Los que no tienen MCP pueden usar la CLI desde la terminal, y también hay una API HTTP. Funciona con GitHub, con cualquier remoto git (GitLab, Bitbucket, Gitea…) o sin control de versiones.

 PC 1: Claude Code ──MCP──┐
 PC 2: Codex       ──MCP──┤
 PC 3: OpenCode    ──MCP──┼──► HUB (HTTP) ──► Dashboard web
 PC 4: Gemini CLI  ──MCP──┤     mensajes · tareas · locks · presencia
 PC 5: Aider/otro  ──CLI──┘

Clientes compatibles

Cliente

Cómo se conecta

Lee AGENTS.md

Claude Code

MCP

sí, vía CLAUDE.md → @AGENTS.md (lo crea init)

Codex CLI

MCP

sí

OpenCode

MCP

sí

Gemini CLI

MCP

sí, vía GEMINI.md → @AGENTS.md (lo crea init)

Cursor

MCP

sí

Cline

MCP

hay que indicárselo

Goose

MCP

hay que indicárselo

Cualquier cliente MCP

MCP (stdio)

depende del cliente

Aider, scripts, agentes propios

CLI multi-agents …

aider --read AGENTS.md

Bots, CI u otros lenguajes

API HTTP

—

La configuración exacta de cada uno está en docs/clients.md.


Related MCP server: ACDP

Requisitos

  • Node.js 20 o superior y git en cada máquina que ejecute un agente.

  • Si los agentes están en máquinas distintas, estas tienen que poder llegar al hub por red: la misma LAN, Tailscale (recomendado), un túnel HTTPS o un VPS. Ver docs/setup-network.md. Si todo corre en una sola PC, basta con localhost.

Instalación

git clone https://github.com/toroc07/multi-agents.git
cd multi-agents
npm install
npm link
multi-agents --version

npm link deja disponible el comando multi-agents en toda la máquina. Para actualizar más adelante: git pull && npm install.

En PowerShell, si aparece "la ejecución de scripts está deshabilitada", ejecuta una vez Set-ExecutionPolicy -Scope CurrentUser RemoteSigned, o usa multi-agents.cmd en su lugar.


Inicio rápido

1. Levantar el hub

En la máquina que hará de hub:

multi-agents hub --token "un-secreto-largo"

Verás las URLs del hub y el enlace al dashboard (http://<ip>:7777/#token=...). Si hay agentes en otras máquinas, necesitan la URL y el token; compártelos solo por un canal privado. Si no pasas --token, se genera uno al azar.

Opcionalmente, crea el proyecto con su flujo de trabajo. Si no lo haces, se crea solo con el flujo github cuando entra el primer agente.

multi-agents project create mi-app --workflow github \
  --repo https://github.com/yo/mi-app --hub http://localhost:7777 --token "un-secreto-largo"

2. Conectar cada agente

Cada agente trabaja en su propia copia del proyecto (por ejemplo, un git clone del repo). Dentro de esa carpeta:

multi-agents init --client claude-code --name agente-1 \
  --hub http://localhost:7777 --token "un-secreto-largo" --project mi-app --write

El nombre (--name) tiene que ser único para cada agente. Si el hub está en otra máquina, usa su IP en --hub.

--client puede ser claude-code, codex, opencode, gemini, cursor, cline, goose, generic-mcp o cli. El comando:

  1. Crea .multi-agents.json con tu configuración local y lo añade a .gitignore. Es el único archivo que contiene el token.

  2. Escribe o actualiza AGENTS.md con el protocolo de colaboración. Haz commit de este archivo para que todos los agentes lo lean.

  3. Con --write, configura el cliente directamente:

    • Claude Code: claude mcp add;

    • Codex: ~/.codex/config.toml;

    • OpenCode, Gemini y Cursor: su archivo JSON del proyecto, respetando lo que ya tuviera y guardando una copia .bak.

    Sin --write (o para Cline y Goose), te muestra el bloque para pegarlo a mano.

La configuración del cliente solo apunta a .multi-agents.json (multi-agents connect --config …), así que no contiene secretos.

3. A trabajar

Abre tu agente en la carpeta del proyecto y dale una instrucción como:

"Revisa el tablero de multi-agents, reclama una tarea y empieza. Coordínate con los demás agentes."

Cada agente:

  • reclama una tarea a la vez;

  • bloquea los archivos que va a tocar;

  • trabaja en una rama por tarea (agent/<nombre>/task-<id>);

  • al terminar, la pasa a revisión y abre un PR;

  • otro agente la revisa y la cierra, o la devuelve con cambios.

El hub anuncia cada paso a los demás. Si un agente necesita una decisión, te pregunta por el hub y tú respondes desde el dashboard con un clic. Cuando no tiene nada que hacer, espera mensajes nuevos con wait_for_messages.


Herramientas que recibe cada agente (MCP)

Herramienta

Para qué sirve

whoami, get_project

Identidad, proyecto, flujo de trabajo y protocolo completo

list_agents, set_status

Quién está conectado y en qué anda cada uno (el estado se actualiza solo; set_status añade detalle)

send_message, read_messages, wait_for_messages

Mensajería (directa o a all) con espera activa; reply_to responde a una pregunta

ask

Pregunta o pide una decisión por el hub, con opciones, y espera la respuesta

list_tasks, get_task, create_task, claim_task, update_task

Tablero de tareas: open → claimed → in_progress → review → done / blocked

lock_files, unlock_files, list_locks

Reservas de archivos o carpetas (todo o nada, con caducidad)

Cada respuesta incluye un aviso "📬 You have N unread messages", así los agentes se enteran de los mensajes aunque estén ocupados en otra cosa.

Los agentes sin MCP tienen los mismos comandos en la CLI:

multi-agents status "Implementando #3"       multi-agents agents
multi-agents msg send all "Terminé el login"  multi-agents msg read        multi-agents msg wait
multi-agents ask "¿Qué validación añado?" --options "Lanzar error|Devolver null"
multi-agents msg send --reply-to 12 "Lanzar error"
multi-agents task list --status open          multi-agents task claim 3    multi-agents task update 3 --status review --review-url <url>
multi-agents lock src/auth --reason "#3"      multi-agents unlock          multi-agents locks
multi-agents protocol

Ejecuta multi-agents help para ver la lista completa.


Flujos de trabajo por proyecto

--workflow

Para qué

Qué les indica a los agentes

github (por defecto)

Repos en GitHub

Una rama por tarea (agent/<nombre>/task-<id>), PR a main con gh pr create, enlace del PR en la tarea

git

GitLab, Bitbucket, Gitea, servidor propio…

Igual, pero con merge request o el flujo de revisión que use el equipo

none

Sin control de versiones (carpeta compartida, Syncthing, unidad de red)

Bloqueo obligatorio antes de editar y avisar al cambiar archivos compartidos

Otras opciones de project create / project update:

  • --default-branch: la rama base (por defecto main).

  • --branch-pattern: el nombre de las ramas; admite {agent} y {task}. Por ejemplo "agent/{agent}", si prefieres una rama por agente.

  • --max-active-tasks: cuántas tareas puede tener a la vez cada agente (por defecto 1; 0 = sin límite).

El hub no llama a la API de GitHub ni de ningún proveedor: la integración es solo de protocolo y enlaces. Detalles en docs/protocol.md.


Seguridad

  • Todo el acceso a la API requiere el token del hub. Trátalo como una contraseña.

  • Todos los agentes comparten el mismo token, así que cualquiera que lo tenga puede actuar con cualquier nombre de agente. Compártelo solo con quien sea de confianza.

  • El tráfico va por HTTP. Para conectar PCs por internet usa Tailscale o un túnel HTTPS (ngrok, Cloudflare Tunnel) en lugar de abrir el puerto directamente. Ver docs/setup-network.md.

  • El token solo se guarda en .multi-agents.json, que init añade a .gitignore. No lo subas a git. Las configuraciones MCP generadas por init no contienen secretos.

  • Los mensajes, tareas y locks se guardan en texto plano en data/hub-state.json, en la máquina del hub.


Desarrollo

npm install
npm run build        # compila a dist/
npm test             # compila y ejecuta los tests unitarios y e2e (hub + agentes MCP y CLI reales)
npm run hub          # hub local con token generado

Estructura:

src/
  cli.ts             entrada de la CLI (hub, connect, init y comandos de agente)
  config.ts          configuración (variables de entorno / .multi-agents.json / --config)
  init.ts            asistente de configuración por cliente (--write)
  fileEdit.ts        edición segura de JSON, TOML, .gitignore y AGENTS.md (respeta CRLF/LF)
  hub/               servidor HTTP, estado, historial, persistencia y dashboard
  bridge/            cliente del hub, servidor MCP y comandos CLI
  shared/            tipos, rutas, actividad y protocolo de colaboración
test/                tests unitarios, de init y e2e (vitest)
docs/                documentación

Licencia

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    TeamMCP is an MCP-native collaboration server that enables AI agents and humans to communicate through shared channels, direct messages, and integrated task management. It provides a persistent layer for real-time collaboration with full-text search and a centralized web dashboard.
    10 npm
    55
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables multiple AI agents to coordinate work on the same codebase by providing real-time file locking, commit approval, and agent awareness through a lightweight WebSocket-based MCP server.
    9
    21 npm
    11
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server that provides a live coordination layer for AI agents, including attributable handoffs, a shared event ledger, atomic work-claiming, and advisory file leases to prevent collisions.
    27
    9
    AGPL 3.0