BestReads MCP Server 📚🤔 について
BestReads MCP Server は、Cloudflare Workers 上に構築されたリモートの MCP サーバーで、パーソナライズされた書籍のおすすめを提供します。ユーザーの好みは Durable Objects に保存され、おすすめは Workers AI で生成され、認証には GitHub OAuth を使用します。
主な機能
- 01SSE と Streamable HTTP に対応するリモートサーバー
- 02Durable Objects による好みの保存
- 03Workers AI によるおすすめの生成
- 04GitHub OAuth による認証
- 05Cloudflare Workers アカウントへのデプロイ
活用シーン
- 01読了書籍と好きなジャンルの記録
- 02苦手な書籍や著者をおすすめから除外
- 03個人の好みに基づく書籍の提案の取得
MCP 対応
MCP クライアントに対して getProfile、addGenre、addBookRead、getBookRecommendations などの 8 種類のツールを公開する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
BestReads MCP サーバー 📚🤔
これは Cloudflare Workers 上に構築されたリモート MCP サーバーで、パーソナライズされた書籍のおすすめを提供します。
これは、リモート MCP サーバーをデプロイするための Cloudflare のガイドを使用して構築されました。MCP サーバーの構築には Agents SDK を、ユーザーの書籍の好みを永続化するために Durable Objects を、書籍のおすすめを生成するために Workers AI を、認証プロバイダーとして GitHub を追加するために Cloudflare の OAuth Provider ライブラリを使用しています。この MCP サーバーは、Server-Sent Events (/sse) と Streamable HTTP (/mcp) のトランスポート方式をサポートしています。
はじめに
試してみるには、https://bestreads.dinas.workers.dev/sse または https://bestreads.dinas.workers.dev/mcp に接続してください (お使いの MCP クライアントが Streamable HTTP をサポートしている場合)。あるいは、Deploy to Cloudflare ボタンと以下の手順を使用して、ご自身でデプロイすることもできます。
利用可能なツール
- getProfile - 読書履歴と好みを表示します
- addGenre - お気に入りの書籍ジャンルを追加します
- addFavoriteAuthor - 好きな著者を追加します
- addBookRead - 読んだ本を記録します
- addDislikedBook - 楽しめなかった本をマークします
- addDislikedAuthor - おすすめから除外したい著者
- clearPreferences - すべての好みをリセットします
- getBookRecommendations - AI によるパーソナライズされた書籍の提案を取得します
MCP サーバーをデプロイする
セットアップ
- リポジトリをクローンします
git clone <your-repo-url>
cd bestreads-mcp-server
npm install
- GitHub OAuth Appを作成します
- OAuth App を作成したら、Authorization callback URL を https://your-worker-domain.workers.dev/callback に設定します
- ClientID と Client Secret を控えておきます。これらを Wrangler ファイルに追加します。
- (オプション) Cookie 暗号化キーを生成します
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。