The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Twocents listing page.
A remote MCP server, live at https://twocents.page/mcp.
Connect it and your AI agent can send any HTML page to real people for visual
review — and read their pinned notes back. No auth, no API key, no install for
reviewers.
share_page — send a self-contained HTML document, get back a review link.
Anyone who opens it can pin notes directly on the page — no login, works on any
device. Call again with the same room id and connected reviewers see the update
live.get_feedback — the pinned notes, returned as markdown with the anchor
text/selector for each note so your agent can find and fix the exact spot. Pass
the optional handled array (note ids already decided in earlier sessions) and
those collapse to one line each, so the response leads with what's new.Claude Code
Claude.ai (web or desktop) — Settings → Connectors → Add custom connector →
paste https://twocents.page/mcp
Cursor or any MCP client — use the config block above (an HTTP MCP server; no auth, no API key).
Ask your agent to "share this page for feedback" → send the link to anyone → they pin notes on the live page → ask your agent to "get the feedback" and apply it. The whole review cycle without leaving your editor.
The complete server source: mcp.js — a zero-dependency Streamable
HTTP (stateless) JSON-RPC handler, ~300 lines. It runs inside a Cloudflare Worker
and stores pages/notes in a Durable Object per review room (env.ROOMS); the
Worker, relay, and reviewer UI live in the main (private) twocents.page codebase.
server.json is the MCP registry
manifest (page.twocents/twocents).
Privacy model: a room id is an unguessable capability — knowing it is the permission to read/write that room. Review links are excluded from search indexing.
Every page in our interactive explainer library has a live review room — open one and pin a note. Or get feedback on your own work.