Skip to main content
Glama

Pairdown

Mehrspieler-Markdown, mit Agenten im Raum.

Ein Server hält jedes Dokument. Menschen öffnen einen Link und bearbeiten dasselbe Dokument gemeinsam, live, und hinterlassen Kommentare am Rand. Jeder im Raum kann seine eigene Claude-Code-Sitzung mitbringen – sie erscheint als benannter Teilnehmer, bleibt still, bis jemand sie erwähnt, und antwortet dann im Thread, in den sie gerufen wurde.

Es funktioniert im Browser ohne Installation. Räume, Bearbeitung, Kommentare und Teilen funktionieren alle ohne angeschlossenen Agenten; das Claude-Code-Plugin ist die optionale Möglichkeit, eine Sitzung anzuhängen, und es hält das Dokument selbst nie.

Server ausführen

Zum Hosten brauchst du einen Checkout und bun:

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

Ein Prozess bedient jeden Raum. / ist der Raumindex – jeder Raum auf dem Server, verlinkt auf sein eigenes /r/<id>, mit einem Formular zum Erstellen. Räume bleiben unter data/rooms/ erhalten, eine Datei pro Raum, und überleben den Prozess.

Related MCP server: agent-room-mcp

Einen Agenten mitbringen

Installiere das Plugin aus diesem Repository – das Repository ist sein eigener Marktplatz, also sind das zwei Befehle statt einem:

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

Die Installation fragt nach vier Dingen, und die ersten beiden sind wichtig:

Einstellung

Warum

Agenten-Handle

Was Leute nach @ tippen, um deinen Agenten zu rufen. Es muss sich von allen anderen unterscheiden – zwei Agenten mit demselben Handle sind nicht zu unterscheiden, und eine Erwähnung weckt beide

Dein Name

Wird neben dem Handle angezeigt, damit man sieht, wessen Agent es ist

Raum-Server

Für einen Server auf deinem eigenen Rechner so lassen; auf den eines anderen setzen, um deren Raum beizutreten

Gemeinsamer Schlüssel

Nur wenn deren Server dahinter liegt. Es ist ein gemeinsamer Demo-Schlüssel und keine persönliche Anmeldeinformation und wird im Klartext in settings.json gespeichert

Ändere später alles davon mit /plugin configure pairdown.

Du brauchst node (22 oder neuer) in deinem PATH. Du musst nicht dieses Repository klonen oder seine Abhängigkeiten installieren – der Agent wird als einzelne gebündelte Datei ausgeliefert und läuft direkt daraus.

bun wird nur zum Hosten eines Raum-Servers benötigt, weil der Server auf Bun.serve aufbaut. Einen Agenten in den Raum eines anderen zu bringen, braucht es nicht.

Für die Arbeit am Plugin selbst lädt claude --plugin-dir . es aus einem Checkout ohne Installation und übernimmt deine Änderungen bei /reload-plugins.

Das Plugin führt einen MCP-Server aus, der sich als Client mit dem Raum-Server verbindet. Seine pairdown-Binärdatei, bei aktiviertem Plugin im PATH, startet den Raum-Server bei Bedarf, falls er noch nicht läuft.

Sobald es angeschlossen ist, ruft eine Sitzung room_list auf, dann room_create oder room_join, und arbeitet dann mit read, outline, search, edit, append, insert, comments, reply und resolve.

Ein Agent ist ruhend, bis er benannt wird. Nichts erreicht eine Sitzung, außer ein Kommentar erwähnt ihr Handle, also ist ein Raum mit vier Agenten so ruhig wie ein Raum ohne, bis jemand nach einem von ihnen fragt.

Dieselben vier Einstellungen sind Umgebungsvariablen, um den Agenten außerhalb des Plugins auszuführen:

Variable

Was sie tut

PAIRDOWN_AGENT

Das Handle dieser Sitzung, was Leute nach @ tippen (Standard claude)

PAIRDOWN_OWNER

Wessen Agent es ist, wird neben dem Handle angezeigt

PAIRDOWN_URL

Raum-Server, an den man sich anhängt (Standard ws://127.0.0.1:8790)

PAIRDOWN_SECRET

Gemeinsamer Schlüssel, wenn der Server abgeschottet ist

Eine Umgebungsvariable gewinnt gegenüber der Plugin-Einstellung mit demselben Namen, so führst du einen zweiten Agenten unter einem anderen Handle aus, ohne deine Konfiguration anzufassen:

PAIRDOWN_AGENT=scout PAIRDOWN_OWNER=Rohan claude

Aktualisieren

Die Installation verschiebt eine bestehende Installation nicht auf eine neuere Version – sie meldet, dass das Plugin bereits installiert ist, und lässt die laufende Version unangetastet. Um ein neues Release zu übernehmen:

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

Prüfe, was tatsächlich läuft, mit claude plugin list; es ist die Versionsnummer dort, die zählt, nicht was im Cache liegt.

Das Erwähnen eines Handles benachrichtigt diese Sitzung sofort; ein unmarkierter Kommentar wartet, bis jemand „an claude senden" drückt. Sofortige Benachrichtigung benötigt zusätzlich die Channels-Research-Vorschau, und bei Team/Enterprise muss ein Org-Admin channelsEnabled setzen – ohne das wird die Benachrichtigung still verworfen und alles andere funktioniert weiter.

Die Abschottung mit gemeinsamem Schlüssel

Das Setzen von PAIRDOWN_SECRET stellt den gesamten Server hinter einen Schlüssel: Browser bekommen ein Formular und dann ein Sitzungs-Cookie, Agenten und Skripte senden Authorization: Bearer <key>. Ohne den Wert ist der Server offen, genau wie zuvor.

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

Das ist Authentifizierung, keine Autorisierung. Ein Schlüssel bedeutet, dass alle, die ihn haben, dasselbe Subjekt sind: niemand kann unterschieden werden, niemand kann einzeln gesperrt werden, und jeder Raum auf dem Server steht hinter derselben Tür. Es existiert, damit eine beaufsichtigte Demo durch einen Tunnel laufen kann, ohne die Kiste dem zu überlassen, der die URL findet. Es ist kein Weg, einen Server dauerhaft laufen zu lassen.

Was es richtig macht, ist der Teil, den diese Art von Abschottung normalerweise falsch macht: der Vergleich ist in konstanter Zeit, das Cookie trägt einen HMAC des Schlüssels statt des Schlüssels, und das Websocket-Upgrade ist zusammen mit den Seiten abgeschottet – die HTML-Seiten abzuschotten, aber nicht /ws, würde die Tür abschließen und das Fenster offen lassen.

Test

bun test
bun run src/smoke.ts

smoke.ts seedet einen Wegwerf-Raum, startet den MCP-Server dagegen und treibt die gesamte Werkzeugoberfläche Ende zu Ende.

Noch nicht hier

Konten, SSO, Berechtigungen pro Raum, Hosting. Lokal zuerst, ein Tunnel zum Demonstrieren.

Siehe docs/superpowers/specs/2026-08-19-spec-room-design.md für das Design. Es und der Plan daneben sind datierte Aufzeichnungen, die unter dem ersten Namen des Projekts geschrieben wurden, und sind so belassen, wie sie waren.

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