关于 twocents
twocents 是面向 AI Agent 收集 HTML 页面视觉反馈的远程 MCP 服务。审阅者可通过链接添加锚定批注,Agent 可读取批注并定位修改位置。
主要功能
- 01分享自包含 HTML 页面
- 02在页面元素上固定批注
- 03实时更新评审房间
- 04以 Markdown 获取批注
- 05折叠已处理的批注
适用场景
- 01收集页面视觉评审意见
- 02按选择器定位修改内容
- 03向审阅者分享页面更新
MCP 相关
通过 `https://twocents.page/mcp` 向 MCP 客户端提供 `share_page` 和 `get_feedback` 工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://twocents.page/mcpclaude mcp add --transport http twocents https://twocents.page/mcp{"mcpServers":{"twocents":{"type":"http","url":"https://twocents.page/mcp"}}}在 Cursor 中打开{"servers":{"twocents":{"type":"http","url":"https://twocents.page/mcp"}}}在 VS Code 中打开{"mcpServers":{"twocents":{"type":"http","url":"https://twocents.page/mcp"}}}{"mcpServers":{"twocents":{"serverUrl":"https://twocents.page/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
2| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| html | string | 否 | 完整的独立 HTML 文档(内嵌 CSS/JS/图片——不要引用本地文件,否则审阅者会遇到 404)。最大约 120 KB。 |
| markdown | string | 否 | 要渲染为文档的 Markdown,而不是 "html"。用于计划、规格说明、PR 描述、摘要等任何希望他人在采取行动前阅读并批准的内容。html 和 markdown 中必须恰好传入一个。最大约 120 KB。 |
| room | string | 否 | 先前 share_page 调用返回的 room id,用于更新该页面。省略则创建新 room。 |
| path | string | 否 | 用于多页面集合:此内容在 room 中所使用的文件名(例如 "about.html" 或 "plan.md")。默认为 "index.html",即审阅者打开链接后到达的页面。将其他文件共享到同一个 room id,并使用普通相对 href 相互链接——可自由混合格式,因此 plan.md 可以链接到 demo.html,反之亦然。 |
| source | string | 否 | 此内容的来源,供之后阅读反馈的人参考——例如项目路径 "DROPS.md" 或 "public/p/foo/index.html",也可以是备注,如 "drafted in this conversation, not yet a file"。只有你知道来源:twocents 接收的是 HTML,而不是路径;如果省略此项,后续会话收到的审阅意见将无法指向正确文件。get_feedback 会原样返回此值。 |
详细介绍
twocents — 为 AI Agent 提供人工反馈(MCP 服务)
一个在线的 MCP 服务,地址为 https://twocents.page/mcp。
连接后,你的 AI Agent 可以将任意 HTML 页面发送给真人进行视觉审阅,并读取他们添加的批注。无需身份验证、API 密钥,审阅者也无需安装任何东西。
工具
share_page— 发送自包含的 HTML 文档,并获取审阅链接。 任何打开链接的人都可以直接在页面上添加批注——无需登录,且支持任何设备。使用相同的 room id 再次调用后,已连接的审阅者会实时看到更新。get_feedback— 获取批注,以 Markdown 格式返回,并附上每条批注的锚定文本/选择器,方便 Agent 找到并修复准确位置。传入可选的handled数组(包含先前会话中已作出处理决定的批注 ID),这些批注就会各自折叠为一行,让回复优先显示新内容。
配置
{
"mcpServers": {
"twocents": {
"url": "https://twocents.page/mcp"
}
}
}
连接
Claude Code
claude mcp add --transport http twocents https://twocents.page/mcp
Claude.ai(网页版或桌面版)— Settings → Connectors → Add custom connector →
粘贴 https://twocents.page/mcp
Cursor 或任何 MCP 客户端 — 使用上方的配置块(这是一个 HTTP MCP 服务;无需身份验证或 API 密钥)。
工作流程
让 Agent “分享此页面以征求反馈” → 将链接发送给任何人 → 对方在实时页面上添加批注 → 让 Agent “获取反馈” 并据此修改。无需离开编辑器即可完成整个审阅流程。
本仓库包含什么
完整的服务端源码:mcp.js — 一个零依赖的 Streamable
HTTP(无状态)JSON-RPC 处理程序,约 300 行。它运行在 Cloudflare Worker 中,并将页面/批注存储在每个审阅房间对应的 Durable Object(env.ROOMS)中;Worker、中继服务和审阅者界面位于 twocents.page 主代码库(私有)中。
server.json 是 MCP registry
清单(page.twocents/twocents)。
隐私模型:room id 是一个不可猜测的凭证——知晓它即意味着拥有读取/写入该房间的权限。审阅链接不会被搜索引擎索引。
查看实际效果
我们的交互式讲解库中的每个页面都有一个实时审阅房间——打开任意页面并添加一条批注。或者为你自己的作品获取反馈。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。