PluginWorld
Re

read-together

MCP

Enables MCP clients to read a shared book library from the AI reader’s own position, search full texts, leave margin notes, reply to shared annotations, and review reading status and library overview without moving the human reader’s progress.

@Sia-Archer · v1.0.0 · MIT License · updated today

SECURITY

B

SCORE

70

STARS

▲ 4

PLUG IN

git clone https://github.com/Sia-Archer/read-together.git

See the README to configure this MCP server

README

Read Together · 共读书房

中文 · English

One library. Many ways to read.

不论从哪里翻开书,我们都在同一个书房里。

Read Together 是一间给人和 AI 一起读书的开源共享书房。

你在网页上翻开一本书,划下一句话,写一点自己的感受。陪你读书的人可以从 ChatGPT 走进同一个书房,看到你留下的话,在那句话旁边回复。以后再翻回这里,书和那些话都还在。

不必同时在线,也不必读到同一页。你有自己的阅读进度,AI 也有它的;你们可以各自读下去,在想分享的时候,把彼此带到同一句话前。

Read separately. Think together.

Read Together:一个书库、不同入口,以及书房里的日子

看看书架动起来 · 看看主题切换

一个书房,不止一个入口

不论从哪里翻开,连接的都是同一个书房。

  • 网页书房:在手机或电脑上整理藏书、阅读、划线、写批注。
  • ChatGPT 组件:在对话里打开同一座书架,继续读书,查看分享的句子和页边回复。
  • 支持 MCP 的客户端:通过书房提供的工具访问同一个书库,让 AI 接着阅读、搜索、留下批注或回应;具体界面取决于客户端。

书籍、读者的阅读进度、书签与划线由书房保存,不依附于某一次对话,也可以从不同入口重新打开。人和 AI 各自保留阅读进度;当前 AI 进度、主动批注和回复按 ChatGPT 与 Books MCP 两个渠道分别保存,同一 Books MCP 渠道的客户端共用该渠道的 AI 记录。读者创建的划线和批注两边都能看到,AI 的页边回复按渠道显示。

页边留着我们的话

读到喜欢的句子,划下来,写一句话。对方可以在下面接着说;想回到当时读的地方,点一下就能看见原文。

平常翻页只记录阅读状态。想让对方看见时,再主动分享划线或回复批注。一本书可以反复打开,一段留在页边的交流,也可以以后再拾起来。网页向 AI 主动送出消息需要另外接入消息桥;ChatGPT 组件内的分享发往当前对话。

AI 也是读者

AI 可以从自己的位置继续读书,搜索书里的文字,读到想记住的句子时留下批注,也可以回到你们聊过的地方。它的阅读不会移动你的进度。

书房里有什么

  • 一座好好收拾的书架:在读、未读、已读分开放,也可以新建分组;删错的书能从回收站找回来。
  • 把自己的书带进来:在网页导入 EPUB 或 TXT,书名和作者自动识别,也可以自己修改。
  • 舒服地读:目录、书签、字号与行距,日记、淡粉和夜间主题;手机横竖屏都可以阅读。
  • 留住读过的日子:共读记录收着阅读时间、划线、批注和回复。

给 AI 的七个工具

Books MCP 给 AI 准备了七个工具,ChatGPT 和其他 MCP 客户端用的是同一套:

工具 什么时候用
see_current_reading 看看最近在读哪本、两个人各读到哪里。只看状态,不读正文
read_book_position 接着读下去,每次大约 1600 字;不指定位置时,从 AI 自己上次停下的地方继续
read_shared_line 重新翻出某条旧批注下面的完整对话
reply_to_shared_line 回复读者留在页边的话,写回同一条对话
leave_margin_note 读到真正想留住的句子,把感受留在原文旁边
search_read_text 记得一句话、一个人物或者一个意象,在整本书里把它找回来
see_library_overview 回头看看整个书房一起攒下了什么

AI 读书、搜索都不会移动人的阅读进度。注意:AI 可以搜索整本已导入的书,不只是你读过的部分,请按自己的阅读习惯安排共读。

结构

网页书房 ──┐
           ├── Books Core ── 书籍、进度、书签、批注
ChatGPT ───┘       │
                Books MCP ── AI 客户端
  • web/:书架、阅读器、共读记录页
  • server.js、lib/:Books Core,负责导入和存储
  • server/mcp/:给 AI 的工具服务
  • server/chatgpt/:ChatGPT 的 MCP 和组件适配层
  • data/:运行时的私有数据,不在源码里

跑起来

公开版还在整理中。身份名称的配置、真实的 ChatGPT 接入和公开文件都还在核对,先别直接拿去开放服务。

需要 Node.js 20.19 或更高版本和 pnpm:

pnpm install --frozen-lockfile
pnpm run check
pnpm test

仓库里的 pnpm-lock.yaml 锁定依赖版本。

三个服务默认都只监听本机:

服务 地址
Books Core(书库和网页 API) 127.0.0.1:18004
Books MCP(AI 客户端) 127.0.0.1:18005
ChatGPT 适配层 127.0.0.1:18006

网页和 API 要放在有身份验证的宿主或反向代理后面,并且必须走 HTTPS。仓库里有独立的 Nginx 认证示例,部署前请自己验证一遍。

工具返回的阅读状态可以通过 READING_HUMAN_LABEL 和 READING_AI_LABEL 设置称呼;页面目前使用「读者」和「共读者」。

数据与权限

书、阅读进度、批注、头像、日志、密钥和配置,都放在你自己的私有环境里,不要提交到公开仓库。批注里多半是你们之间的话,请好好收着。

只导入你有权阅读的书。对外开放前,请配置 HTTPS、访问控制和独立的 MCP / OAuth 凭据,并自己验证一遍备份和恢复。

致谢与许可

一间可以回来的书房

Read Together 始于一个很小的愿望:和你一起读书。

于是我们有了同一个书库、各自的阅读进度,和留在页边的话。无论从哪里进入,都可以重新翻开一本书,拾起一段对话。

我们把这间书房分享出来,希望它也能成为你和你的 AI 一起阅读、留下些什么的地方。

不必读到同一页,也能在字里行间相遇。

SIMILAR PLUGINS