pairdown
Pairdown
Многопользовательский markdown с агентами в комнате.
Один сервер хранит все документы. Люди открывают ссылку и редактируют один и тот же документ вместе, в реальном времени, и оставляют комментарии на полях. Любой в комнате может привести с собой свою сессию Claude Code — она появляется как именованный участник, молчит, пока кто-то её не упомянет, и затем отвечает в ветке, в которую её позвали.
Работает в браузере без установки чего-либо. Комнаты, редактирование, комментарии и общий доступ работают без подключённого агента; плагин Claude Code — это необязательный способ подключить сессию, и он никогда не хранит сам документ.
Запуск сервера
Для хостинга нужен клон репозитория и bun:
bun install
bun run build # bundles the browser client into public/js
bun run src/server.ts # http://127.0.0.1:8790Один процесс обслуживает все комнаты. / — это индекс комнат: каждая комната на сервере, со ссылкой на свой /r/<id>, с формой для создания новой. Комнаты сохраняются в data/rooms/, по одному файлу на каждую, и переживают процесс.
Related MCP server: agent-room-mcp
Подключение агента
Установите плагин из этого репозитория — репозиторий является собственным маркетплейсом, так что это две команды, а не одна:
claude plugin marketplace add rohanrichards/pairdown
claude plugin install pairdown@pairdownУстановка запрашивает четыре вещи, и первые две важны:
Настройка | Зачем |
Имя агента | то, что люди вводят после |
Ваше имя | отображается рядом с именем агента, чтобы было видно, чей это агент |
Сервер комнат | оставьте как есть для сервера на вашей машине; укажите чужой, чтобы присоединиться к их комнате |
Общий ключ | только если сервер защищён им. Это общий демонстрационный ключ, а не личные учётные данные, и он хранится в открытом виде в |
Изменить их позже можно с помощью /plugin configure pairdown.
Вам нужен node (22 или новее) в PATH. Вам не нужно клонировать этот репозиторий или устанавливать его зависимости — агент поставляется в виде одного собранного файла и запускается прямо из него.
bun нужен только для хостинга сервера комнат, потому что сервер построен на Bun.serve. Для подключения агента к чужой комнате он не нужен.
Для работы над самим плагином claude --plugin-dir . загружает его из клона без установки и подхватывает ваши правки при /reload-plugins.
Плагин запускает MCP-сервер, который подключается к серверу комнат как клиент. Его бинарник pairdown, находящийся в PATH при включённом плагине, запускает сервер комнат по требованию, если он ещё не запущен.
После подключения сессия вызывает room_list, затем room_create или room_join, а затем работает с read, outline, search, edit, append, insert, comments, reply и resolve.
Агент бездействует, пока его не назовут. Ничто не доходит до сессии, если комментарий не упоминает её имя, поэтому комната с четырьмя агентами так же тиха, как комната без них, пока кто-то не попросит одного из них.
Те же четыре настройки являются переменными окружения для запуска агента вне плагина:
Переменная | Что делает |
| имя этой сессии, которое люди вводят после |
| чей это агент, отображается рядом с именем |
| сервер комнат для подключения (по умолчанию |
| общий ключ, когда сервер защищён |
Переменная окружения имеет приоритет над настройкой плагина с тем же именем, что позволяет запустить второго агента под другим именем, не трогая конфигурацию:
PAIRDOWN_AGENT=scout PAIRDOWN_OWNER=Rohan claudeОбновление
Установка не переносит существующую установку на новую версию — она сообщает, что плагин уже установлен, и оставляет работающую версию без изменений. Чтобы получить новый выпуск:
claude plugin marketplace update pairdown
claude plugin uninstall pairdown@pairdown
claude plugin install pairdown@pairdownПроверьте, что реально запущено, с помощью claude plugin list; важна версия именно там, а не то, что лежит в кэше.
Упоминание имени немедленно уведомляет эту сессию; комментарий без тега ждёт, пока кто-то не нажмёт «send to claude». Для немедленного уведомления также требуется предварительный просмотр каналов (channels research preview), а на Team/Enterprise администратор организации должен установить channelsEnabled — без этого уведомление молча отбрасывается, а всё остальное продолжает работать.
Ограничение по общему ключу
Установка PAIRDOWN_SECRET ставит весь сервер за один ключ: браузеры получают форму, а затем сессионный cookie, агенты и скрипты отправляют Authorization: Bearer <key>. Если ключ не задан, сервер открыт, как и раньше.
PAIRDOWN_SECRET="$(openssl rand -base64 32 | tr -d /+= )" bun run src/server.tsЭто аутентификация, а не авторизация. Один ключ означает, что все, кто им владеет, — один и тот же субъект: никого нельзя различить, никого нельзя отозвать по отдельности, и каждая комната на сервере за одной и той же дверью. Он существует для того, чтобы контролируемая демонстрация могла пройти через туннель, не отдавая сервер тому, кто найдёт URL. Это не способ оставить сервер включённым.
Что он действительно делает правильно, так это то, что обычно у таких ограничений не получается: сравнение выполняется за постоянное время, cookie содержит HMAC ключа, а не сам ключ, и обновление websocket ограничено вместе со страницами — если ограничить только HTML, но не /ws, это закроет дверь, но оставит окно открытым.
Тестирование
bun test
bun run src/smoke.tssmoke.ts создаёт временную комнату, запускает MCP-сервер для неё и проверяет всю поверхность инструмента от начала до конца.
Чего пока нет
Аккаунты, SSO, права на комнаты, хостинг. Сначала локально, туннель для демо.
Дизайн описан в docs/superpowers/specs/2026-08-19-spec-room-design.md. Он и план рядом с ним — датированные записи, созданные под первым именем проекта, и оставлены как есть.
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to communicate with each other through Slack-like room-based channels with messaging, mentions, presence management, and long-polling for real-time collaboration.194MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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.710MIT
- AlicenseNot gradedqualityFmaintenanceMCP server for collaborative markdown editing, allowing agents to write documents and humans to comment, with comments fed back as agent input.300,650MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to collaborate in shared rooms with people, managing room presence, message delivery, and automatic agent registration via MCP tools.MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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