mcpField
B
BestReads MCP Server 📚🤔

BestReads MCP Server 📚🤔

本地服务
github.com/dinasaur404游戏娱乐3173 周前更新

关于 BestReads MCP Server 📚🤔

BestReads MCP Server 是基于 Cloudflare Workers 构建的远程 MCP 服务,用于提供个性化图书推荐。用户偏好由 Durable Objects 持久化保存,推荐内容由 Workers AI 生成,并通过 GitHub OAuth 进行身份验证。

主要功能

  1. 01远程 MCP 服务,支持 SSE 与 Streamable HTTP
  2. 02使用 Durable Objects 保存阅读偏好
  3. 03基于 Workers AI 生成图书推荐
  4. 04通过 GitHub OAuth 进行身份验证
  5. 05可部署到自己的 Cloudflare Workers 账户

适用场景

  1. 01记录已读图书与喜欢的题材
  2. 02标记不喜欢的图书与作者,避免推荐
  3. 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”按钮和说明自行部署。

部署到 Workers

可用工具

  • getProfile - 查看你的阅读历史和偏好
  • addGenre - 添加喜欢的图书类型
  • addFavoriteAuthor - 添加喜欢的作者
  • addBookRead - 记录读过的书
  • addDislikedBook - 标记不喜欢的书
  • addDislikedAuthor - 添加推荐时应避开的作者
  • clearPreferences - 重置所有偏好
  • getBookRecommendations - 获取 AI 个性化图书推荐

部署 MCP 服务

设置
  1. 克隆代码库
  git clone <your-repo-url>
  cd bestreads-mcp-server
  npm install
  1. 创建 GitHub OAuth App
  • 创建 OAuth App 后,将 Authorization callback URL 设置为 https://your-worker-domain.workers.dev/callback
  • 记下 ClientID 和 Client Secret。你需要将它们添加到 Wrangler 文件中。
  • (可选)生成 Cookie Encryption Key
  1. 更新你的 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"
  1. 部署到 Cloudflare Workers wrangler deploy

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。