Skip to main content
Glama

Pairdown

Markdown multijugador, con agentes en la sala.

Un servidor contiene todos los documentos. Las personas abren un enlace y editan el mismo documento juntas, en vivo, y dejan comentarios en el margen. Cualquiera en la sala puede traer su propia sesión de Claude Code — aparece como participante con nombre, permanece en silencio hasta que alguien la menciona, y luego responde en el hilo en el que fue invocada.

Funciona en un navegador sin necesidad de instalar nada. Las salas, la edición, los comentarios y el uso compartido funcionan sin ningún agente conectado; el plugin de Claude Code es la forma opcional de adjuntar una sesión, y nunca contiene el documento en sí.

Ejecutar el servidor

Para alojarlo se necesita un checkout y bun:

bun install
bun run build          # bundles the browser client into public/js
bun run src/server.ts  # http://127.0.0.1:8790

Un solo proceso atiende todas las salas. / es el índice de salas — cada sala del servidor, enlazada a su propio /r/<id>, con un formulario para crear una. Las salas persisten en data/rooms/, un archivo por cada una, y sobreviven al proceso.

Related MCP server: agent-room-mcp

Traer un agente

Instala el plugin desde este repositorio — el repositorio es su propio marketplace, así que son dos comandos en lugar de uno:

claude plugin marketplace add rohanrichards/pairdown
claude plugin install pairdown@pairdown

La instalación pide cuatro cosas, y las dos primeras importan:

Configuración

Por qué

Identificador del agente

lo que la gente escribe después de @ para invocar a tu agente. Debe ser diferente al de los demás — dos agentes con el mismo identificador no se pueden distinguir, y una mención despierta a ambos

Tu nombre

se muestra junto al identificador, para que la gente vea de quién es el agente

Servidor de salas

déjalo como está para un servidor en tu propia máquina; configúralo con el de otra persona para unirte a su sala

Clave compartida

solo cuando su servidor está detrás de una. Es una clave de demostración compartida, no una credencial personal, y se almacena en texto plano en settings.json

Puedes cambiarlas más tarde con /plugin configure pairdown.

Necesitas node (22 o más reciente) en tu PATH. No necesitas clonar este repositorio ni instalar sus dependencias — el agente se distribuye como un único archivo empaquetado y se ejecuta directamente desde él.

bun solo se necesita para alojar un servidor de salas, porque el servidor está construido sobre Bun.serve. Llevar un agente a la sala de otra persona no lo requiere.

Para trabajar en el propio plugin, claude --plugin-dir . lo carga desde un checkout sin instalarlo, y recoge tus ediciones en /reload-plugins.

El plugin ejecuta un servidor MCP que se conecta al servidor de salas como cliente. Su binario pairdown, en PATH mientras el plugin está habilitado, inicia el servidor de salas bajo demanda si aún no está en marcha.

Una vez conectada, una sesión llama a room_list, luego a room_create o room_join, y después trabaja con read, outline, search, edit, append, insert, comments, reply y resolve.

Un agente permanece inactivo hasta que se le nombra. Nada llega a una sesión a menos que un comentario mencione su identificador, así que una sala con cuatro agentes es tan silenciosa como una sin ninguno hasta que alguien pide uno de ellos.

Los mismos cuatro ajustes son variables de entorno, para ejecutar el agente fuera del plugin:

Variable

Qué hace

PAIRDOWN_AGENT

el identificador de esta sesión, lo que la gente escribe después de @ (por defecto claude)

PAIRDOWN_OWNER

de quién es el agente, se muestra junto al identificador

PAIRDOWN_URL

servidor de salas al que conectarse (por defecto ws://127.0.0.1:8790)

PAIRDOWN_SECRET

clave compartida, cuando el servidor está protegido

Una variable de entorno prevalece sobre el ajuste del plugin del mismo nombre, que es como se ejecuta un segundo agente con un identificador diferente sin tocar tu configuración:

PAIRDOWN_AGENT=scout PAIRDOWN_OWNER=Rohan claude

Actualización

La instalación no actualiza una instalación existente a una versión más reciente — informa de que el plugin ya está instalado y deja la versión en ejecución como está. Para obtener una nueva versión:

claude plugin marketplace update pairdown
claude plugin uninstall pairdown@pairdown
claude plugin install pairdown@pairdown

Comprueba lo que realmente se está ejecutando con claude plugin list; es el número de versión que aparece allí lo que importa, no lo que está en la caché.

Mencionar un identificador notifica a esa sesión inmediatamente; un comentario sin etiqueta espera hasta que alguien pulsa "enviar a claude". La notificación inmediata además requiere la vista previa de investigación de canales, y en Team/Enterprise un administrador de la organización debe establecer channelsEnabled — sin ello, la notificación se descarta silenciosamente y todo lo demás sigue funcionando.

La puerta de clave compartida

Establecer PAIRDOWN_SECRET pone todo el servidor detrás de una clave: los navegadores reciben un formulario y luego una cookie de sesión, los agentes y scripts envían Authorization: Bearer <key>. Si no se establece, el servidor está abierto, exactamente como antes.

PAIRDOWN_SECRET="$(openssl rand -base64 32 | tr -d /+= )" bun run src/server.ts

Esto es autenticación, no autorización. Una clave significa que todos los que la poseen son el mismo principal: nadie puede distinguirse, nadie puede ser revocado individualmente, y todas las salas del servidor están detrás de la misma puerta. Existe para que una demo supervisada pueda pasar por un túnel sin entregar la caja a quien encuentre la URL. No es una forma de dejar un servidor en marcha.

Lo que sí hace correctamente es la parte que este tipo de puerta suele hacer mal: la comparación es de tiempo constante, la cookie lleva un HMAC de la clave en lugar de la clave, y la actualización de websocket está protegida junto con las páginas — proteger el HTML pero no /ws cerraría la puerta y dejaría la ventana abierta.

Pruebas

bun test
bun run src/smoke.ts

smoke.ts crea una sala desechable, lanza el servidor MCP contra ella y recorre toda la superficie de la herramienta de principio a fin.

Aún no está aquí

Cuentas, SSO, permisos por sala, alojamiento. Primero local, un túnel para la demo.

Consulta docs/superpowers/specs/2026-08-19-spec-room-design.md para el diseño. Él y el plan que lo acompaña son registros fechados escritos bajo el primer nombre del proyecto, y se dejan tal como estaban.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Cursor agents to communicate via a shared chat room, allowing them to ask questions, share status, and warn about conflicts while collaborating on the same repo.
    710
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for collaborative markdown editing, allowing agents to write documents and humans to comment, with comments fed back as agent input.
    300,650
    MIT

View all related MCP servers

Related MCP Connectors

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

  • A room-based collaborative platform

  • MCP-native collaborative markdown editor with real-time AI document editing

View all MCP Connectors

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/rohanrichards/pairdown'

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