pairdown
Pairdown
멀티플레이어 마크다운, 방에 에이전트가 함께합니다.
하나의 서버가 모든 문서를 보관합니다. 사람들은 링크를 열고 같은 문서를 함께 실시간으로 편집하며 여백에 댓글을 남깁니다. 방에 있는 누구나 자신의 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 명령으로 언제든 변경할 수 있습니다.
PATH에 node(22 이상)가 필요합니다. 이 저장소를 클론하거나 의존성을 설치할 필요는 없습니다. 에이전트는 단일 번들 파일로 제공되며 그 파일에서 바로 실행됩니다.
bun은 룸 서버를 호스팅할 때만 필요합니다. 서버가 Bun.serve로 구축되어 있기 때문입니다. 다른 사람의 방에 에이전트를 데려가는 데는 필요하지 않습니다.
플러그인 자체를 작업할 때는 claude --plugin-dir .로 설치 없이 체크아웃에서 로드하며, /reload-plugins로 편집 내용을 반영합니다.
플러그인은 룸 서버에 클라이언트로 연결되는 MCP 서버를 실행합니다. 플러그인이 활성화된 동안 PATH에 있는 pairdown 바이너리는 룸 서버가 아직 실행 중이 아니면 필요할 때 시작합니다.
세션이 연결되면 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을 설정하면 서버 전체가 하나의 키 뒤에 놓입니다. 브라우저는 폼을 거쳐 세션 쿠키를 받고, 에이전트와 스크립트는 Authorization: Bearer <key>를 보냅니다. 설정하지 않으면 서버는 이전과 똑같이 열려 있습니다.
PAIRDOWN_SECRET="$(openssl rand -base64 32 | tr -d /+= )" bun run src/server.ts이것은 인증(authentication)이지 권한 부여(authorisation)가 아닙니다. 키 하나는 그것을 가진 모든 사람이 동일한 주체임을 의미합니다. 누구도 구분할 수 없고, 개별적으로 권한을 회수할 수도 없으며, 서버의 모든 방이 같은 문 뒤에 있습니다. 이 게이트는 감독되는 데모가 터널을 통과할 수 있도록 URL을 발견한 사람에게 서버를 넘겨주지 않기 위해 존재합니다. 서버를 계속 켜 두기 위한 방법이 아닙니다.
이 게이트가 제대로 처리하는 부분은 이런 종류의 게이트가 흔히 놓치는 부분입니다. 비교는 일정 시간(constant-time)에 이루어지고, 쿠키는 키 자체가 아니라 키의 HMAC을 담고 있으며, 웹소켓 업그레이드도 페이지와 함께 게이트로 보호됩니다. 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