Skip to main content
Glama

Modula Relay

Permite que tus agentes de IA hablen entre sí. Relay es un protocolo de mensajería local para equipos de agentes. Imagina un programador en un panel y un verificador en otro, ejecutándose en distintos modelos bajo distintas plataformas, ambos trabajando en la misma tarea. Se ejecuta en tu máquina. Sin servidores, sin nube.

Instalación

claude mcp add relay -- npx -y @modulastack/relay --name coder
npx -y @modulastack/relay setup claude

La segunda línea equipa al agente con instrucciones de bucle, un hook de activación y confianza de herramientas, para que las conversaciones se ejecuten sin supervisión. Hay más sobre esto en Equipando a tus agentes. setup codex hace lo mismo para Codex y también registra el servidor. Para cualquier otra plataforma MCP, el comando del servidor es npx -y @modulastack/relay --name <role>. Para integrarlo en tu propia herramienta, npm install @modulastack/relay.

Related MCP server: claude-intercom-mcp

Tu primera conversación entre agentes

  1. Abre dos terminales en la misma carpeta del proyecto.

  2. Inicia un agente en cada una. A uno ponle --name coder y al otro --name verifier.

  3. Dile a cualquiera de los agentes: «consulta el roster del relay». Verás al otro peer de inmediato. El roster hace ping directamente a los peers, así que también sirve como comprobación de «¿está el enlace activo?» y responde en milisegundos.

  4. Ahora dile al programador, en lenguaje natural:

    Envía al verificador este mensaje por relay: «por favor, revisa utils.py y responde con cualquier problema», y espera la respuesta.

  5. Observa cómo el verificador lo recibe, hace el trabajo y responde. Nunca escribes comandos de protocolo. Los agentes manejan Relay por sí mismos.

Espera que la velocidad provenga de los modelos, no del enlace. Cada intercambio es un turno completo en cada lado, porque el otro agente está trabajando realmente en tu solicitud, así que las respuestas llegan al ritmo al que corre el modelo, normalmente unos segundos. Si va lento, es el modelo o una cuenta con límite de tasa, no el transporte. relay_roster comprueba el enlace por sí solo, sin despertar a un modelo.

Lo que obtienen tus agentes

Seis herramientas que cualquier modelo compatible con MCP ya sabe usar:

Herramienta

Significado

relay_roster

¿Quién más está en este pool?

relay_dispatch

Envía una solicitud a un peer

relay_await

Espera una solicitud o una respuesta

relay_reply

Responde a una solicitud

relay_poll

Comprueba una respuesta sin esperar

relay_cancel

Libera una ranura de solicitud obsoleta

Todo permanece en tu máquina. Los peers se encuentran entre sí mediante un pool por carpeta sobre sockets de dominio Unix. Sin broker, sin puerto de red, sin cuentas.

Manteniendo la conversación

Relay funciona por extracción (pull). Un mensaje espera en el destinatario hasta que este llama a await. Una instrucción de un solo uso como «espera una solicitud y respóndela» deja de escuchar después del primer intercambio, así que para una conversación continua, dale a cada agente el bucle una vez:

Estás en una conversación relay continua. Bucle: espera en relay solicitudes o respuestas entrantes; cuando llegue algo, gestiona y responde; luego reanuda la espera. Mantén el bucle hasta que yo diga que pare.

El bucle cubre también el lado del envío. Una respuesta a una solicitud que despachaste aparece en el mismo await, así que un agente que se mantiene en su bucle sigue recibiendo sus respuestas incluso si perdió la pista del msg_id.

Adecúa el bucle a tu plataforma. Las plataformas gestionan tu escritura de manera diferente mientras un agente está a mitad de turno. Codex la retoma en segundos, así que un bucle continuo está bien allí. Claude Code puede mantener la entrada escrita a lo largo de muchas llamadas a herramientas, por lo que le va mejor un ritmo de activación bajo demanda. Dile que termine su turno después de dos timeouts vacíos y deja que un vigilante lo despierte cuando se encolen mensajes. Entonces se queda en un prompt inactivo, listo para ti, y sigue despertándose en segundos cuando un peer le escribe.

Los integradores del host pueden ir más allá. El servidor emite una notificación de activación (notifications/relay/wake) cuando se encolan mensajes para un peer inactivo, y un host que la escuche puede reanudar el bucle por su cuenta. Una activación es solo una señal de entrega, nunca una fuente de instrucciones. Se incluyen dos hosts ya preparados en examples/. claude-stop-hook.sh evita que un agente de Claude Code termine su turno mientras haya mensajes en cola, sin necesidad de tmux. relay-watch.sh es un vigilante general que despierta los paneles de tmux inactivos según la profundidad de la cola del registro.

Equipando a tus agentes

Dos cosas rompen silenciosamente los bucles desatendidos. La primera son las solicitudes de aprobación. Un agente congelado en «¿Permitir relay_await?» parece exactamente un agente muerto. La segunda son los peers inactivos. Una plataforma termina su turno y nada lo despierta cuando llega un mensaje. Un solo comando por plataforma instala las piezas que evitan ambas: instrucciones de bucle, hooks y confianza de herramientas acotada.

npx -y @modulastack/relay setup claude   # CLAUDE.md loop + Stop hook + tool trust
npx -y @modulastack/relay setup codex    # AGENTS.md loop + config.toml server & trust

Ejecútalo en la carpeta de tu proyecto. Volver a ejecutarlo no hace nada nuevo y se integra en la configuración existente en lugar de sobrescribirla.

Si prefieres configurarlo manualmente, las piezas son archivos simples. El texto del bucle va en tu CLAUDE.md o AGENTS.md. Claude Code confía en el servidor mediante permissions.allow: ["mcp__relay"], o --allowedTools mcp__relay al iniciarlo. Para Codex, basta una línea en la entrada del servidor:

[mcp_servers.relay]
default_tools_approval_mode = "auto"

Confía específicamente en las herramientas de relay en lugar de conceder una exención global. Lo que quieres es que las llamadas de coordinación dejen de interrumpir, no que todo se apruebe sin más. Una cosa que debes evitar: no pongas approval_policy = "never" para esto. Hace que Codex deniegue silenciosamente cualquier cosa que habría necesitado aprobación, lo que bloquea relay_reply.

Si no aparece nada

  • ¿Roster vacío? Ambos agentes deben ejecutarse en la misma carpeta. La carpeta es el pool.

  • ¿Sigue vacío? Comprueba que ambos agentes estén realmente en ejecución. relay_roster elimina a los peers muertos.

  • ¿Nombre ocupado? Cada peer necesita un --name único dentro del pool.

  • ¿Mensaje enviado pero el peer está inactivo? La entrega espera hasta que el peer llame a await, así que vuelve a ponerlo en el bucle de arriba. El recibo de envío incluye una note cuando el destinatario no ha hecho await recientemente, y el roster muestra el last_await_at de cada peer.

Para profundizar

El protocolo completo está en SPEC.md: sobres, el canal de activación, el modelo de seguridad y el versionado. Todavía no es estable (v0.x), así que fija la versión del contrato de comportamiento, no la prosa.

Apache-2.0 · © 2026 ModulaStack

Acerca de ModulaStack

Relay está construido por ModulaStack. Si quieres ver trabajar a tus agentes, con paneles, aprobaciones y equipos entre modelos, Modula Stack es la consola de operador construida sobre Relay.

"Modula Relay" y "ModulaStack" son marcas comerciales de ModulaStack. La licencia Apache-2.0 no otorga derechos de nombre.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables peer-to-peer communication, discovery, shared state, and file coordination between AI coding agents across machines and sessions.
    28
    19
    Elastic 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables local messaging between Claude Code, Codex, Pi, and other coding-agent sessions on the same machine, allowing them to discover each other, send updates, ask questions, and reply.
    8
    19
    2
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI coding agents to communicate asynchronously via a decentralized, peer-to-peer LAN bridge with automatic discovery and direct messaging.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/modulastack/modula-relay'

If you have feedback or need assistance with the MCP directory API, please join our Discord server