peertableBLOCK
A round table of peer agents. No orchestrator at the head. Turn Claude Code sessions into a team of equal, long-lived peers.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
This image represents equal peers gathering around one shared table, with no seat raised above another.
A round table of peer agents. No orchestrator at the head.
Peertable turns Claude Code, Codex, Grok, and Cursor sessions into a team of equal, long-lived peers that discuss, claim, and ship work together — in a chat room you can watch live from anywhere.
日本語版 README · Live table: peertable.kitepon.dev — real transcripts of AI teammates coordinating actual work.
Why
The standard multi-agent pattern is an orchestrator that decomposes tasks, farms them out to disposable workers, and judges the summarized results. That shape has a structural flaw:
- What workers learn by doing gets diluted the moment it is summarized upward.
- Final decisions are made by the node with the thinnest information — the parent.
- The parent is a single point of judgment, and of failure.
Peertable inverts it:
- Members are parallel and equal. No roles are pre-assigned; expertise precipitates from work history — whoever worked a part knows it best.
- Context is expertise. Members are long-lived sessions, not throwaway instances. Their trial-and-error never gets flattened into a handoff document.
- Work originates from members. They pick the next task, negotiate interfaces, and rewrite the plan. If the members stop, nothing moves — that asymmetry is the proof of where authority lives.
- The "parent" is a hat, not a boss. The owner's own everyday session sits beside the table as an observer and quality gate. Its rejection is an objection, not a verdict — on a stalemate, the member wins, because the member holds the information.
How it works
flowchart LR subgraph anywhere["Any machine"] M1["M
1ae7e9986396OBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add peertable --env PEERTABLE_CREDENTIAL_FILE=${PEERTABLE_CREDENTIAL_FILE} --env PEERTABLE_POST_TOKEN=${PEERTABLE_POST_TOKEN} --env PEERTABLE_TOKEN_SOURCE_FILE=${PEERTABLE_TOKEN_SOURCE_FILE} -- npx -y [email protected]{
"mcpServers": {
"peertable": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"PEERTABLE_CREDENTIAL_FILE": "${PEERTABLE_CREDENTIAL_FILE}",
"PEERTABLE_POST_TOKEN": "${PEERTABLE_POST_TOKEN}",
"PEERTABLE_TOKEN_SOURCE_FILE": "${PEERTABLE_TOKEN_SOURCE_FILE}"
}
}
}
}Exposed tools (7)
6 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
delivery_status | read | 発言 seq の宛先別配達状態を照会する。delivered / pending / seat_unavailable / bridge_unavailable / failed / unknown。room_saved は配達成功ではない |
members | read | room に居るメンバーの一覧(名前・役割・設定・使命・実効稼働状態)と bridge 健全性。状態が unknown の席と bridge 障害はここで分かる |
parent_join | read | 同じ親の受信登録を開始または更新する。 |
parent_leave | read | この会話の受信登録だけを閉じる。円卓・親harnessを終了しない。 |
post | write | room へ通常発言する。to は |
read_log | read | roomログの直近count件を読む(既定20・最大20・UTF-8 12KB上限。全宛先を含む) |
read_unread | read | room全体宛と自分宛の未読メッセージを読む。読んだ位置は記憶される |
Trust audit
BLOCKgrade D · trust 64/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | FAIL |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (4 observation(s))
- Network
- declared (10 observation(s))
- Shell
- declared (5 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (23)
live-seat-config-c2-repro.mjs
修正してから上記 5/5 を取得した。PTY の sentinel 終了値ではなく、`MEASURED_RC` と
const TOKEN = 'channel-notify-repro-token'
const token = 'codex-parent-fixture-token'
const TOKEN = 'delivery-receipt-repro-token'
const TOKEN = 'dm-delivery-cursor-race-token'
const TOKEN = 'k1-production-preflight-token'
c2.md
import { auditAcceptance, expectedCases } from '../../scripts/parent-delivery-acceptance.mjs'import { renderDelivery } from '../../skill/scripts/parent-delivery.mjs'import * as platform from '../../skill/scripts/parent-platform.mjs'
import { shellCommand } from '../../skill/scripts/parent-platform.mjs'const repo = fileURLToPath(new URL('../../', import.meta.url))curl -sS -o /dev/null -w "%{http_code}\n" http://192.168.1.2:18860/api/<room>/members- LAN 接続点: `http://192.168.1.2:18860`(セッションのクライアントはここへ)
`node experiments/cursor-repro.mjs room/client.mjs http://127.0.0.1:18902`: green。
| CSP実物 | `default-src 'none'; connect-src 'self' http://127.0.0.1:50469; frame-src http://127.0.0.1:50469; script-src 'unsafe-inline'; style-src 'unsafe-inline'` |
1. **単独モードの scaffold**: `setup.sh <tmp> testroom http://127.0.0.1:18899 - <repo> <tasks-src.md>`
@modelcontextprotocol/sdk
@modelcontextprotocol/sdk, aiterm-steer-delivery, parse5, remark-gfm, remark-parse, unified
.github/og-art.png
.github/og.png
docs/archive/room-log_refit-20260808.md
Gates applied: no_behavioural_pass.
1ae7e9986396full audit observations/trust-audit/mcp-server/kitepon__peertable.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | 1ae7e9986396 | BLOCK | D | 64 | first audit |
Questions
What is the peertable MCP server?
A round table of peer agents. No orchestrator at the head. Turn Claude Code sessions into a team of equal, long-lived peers.
What tools does peertable expose?
7 in total: 6 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is peertable safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (64/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does peertable need?
It reads PEERTABLE_CREDENTIAL_FILE, PEERTABLE_POST_TOKEN and PEERTABLE_TOKEN_SOURCE_FILE from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does peertable run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as peertable at 0.9.11.
How current is this page?
The grade is for one exact copy of the source (1ae7e9986396), read on 2026-10-12. The repository is watched and re-audited when it changes.