关于 BestReads MCP Server 📚🤔
BestReads MCP Server 是基于 Cloudflare Workers 构建的远程 MCP 服务,用于提供个性化图书推荐。用户偏好由 Durable Objects 持久化保存,推荐内容由 Workers AI 生成,并通过 GitHub OAuth 进行身份验证。
主要功能
- 01远程 MCP 服务,支持 SSE 与 Streamable HTTP
- 02使用 Durable Objects 保存阅读偏好
- 03基于 Workers AI 生成图书推荐
- 04通过 GitHub OAuth 进行身份验证
- 05可部署到自己的 Cloudflare Workers 账户
适用场景
- 01记录已读图书与喜欢的题材
- 02标记不喜欢的图书与作者,避免推荐
- 03获取基于个人偏好的图书建议
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 getProfile、addGenre、addBookRead、getBookRecommendations 等 8 个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
BestReads MCP 服务 📚🤔
这是一个基于 Cloudflare Workers 构建的远程 MCP 服务,可提供个性化图书推荐。
本项目参照 Cloudflare 关于部署远程 MCP 服务的指南构建。它使用 Agents SDK 构建 MCP 服务,使用 Durable Objects 持久化用户的图书偏好,使用 Workers AI 生成图书推荐,并使用 Cloudflare 的 OAuth Provider library 将 GitHub 添加为身份验证提供方。该 MCP 服务支持 Server-Sent Events(/sse)和 Streamable HTTP(/mcp)传输方式。
开始使用
要试用,请连接到 https://bestreads.dinas.workers.dev/sse,或者,如果你的 MCP 客户端支持 Streamable HTTP,请连接到 https://bestreads.dinas.workers.dev/mcp。也可以使用下方的“部署到 Cloudflare”按钮和说明自行部署。
可用工具
- getProfile - 查看你的阅读历史和偏好
- addGenre - 添加喜欢的图书类型
- addFavoriteAuthor - 添加喜欢的作者
- addBookRead - 记录读过的书
- addDislikedBook - 标记不喜欢的书
- addDislikedAuthor - 添加推荐时应避开的作者
- clearPreferences - 重置所有偏好
- getBookRecommendations - 获取 AI 个性化图书推荐
部署 MCP 服务
设置
- 克隆代码库
git clone <your-repo-url>
cd bestreads-mcp-server
npm install
- 创建 OAuth App 后,将 Authorization callback URL 设置为 https://your-worker-domain.workers.dev/callback
- 记下 ClientID 和 Client Secret。你需要将它们添加到 Wrangler 文件中。
- (可选)生成 Cookie Encryption Key
- 更新你的
wrangler.toml文件
[vars]
GITHUB_CLIENT_ID = "your_github_client_id"
GITHUB_CLIENT_SECRET = "your_github_client_secret"
COOKIE_ENCRYPTION_KEY = "your_32_byte_hex_key"
[[kv_namespaces]]
binding = "OAUTH_KV"
id = "your_kv_namespace_id"
[[durable_objects.bindings]]
name = "MCP_OBJECT"
class_name = "MyMCP"
[[durable_objects.bindings]]
name = "USER_BOOK_PREFERENCES"
class_name = "UserBookPreferences"
- 部署到 Cloudflare Workers
wrangler deploy
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。