-
-
Notifications
You must be signed in to change notification settings - Fork 0
Labels
speclanguage or system specificationlanguage or system specification
Description
概要
現在の構成はユーザーが自分で Cloudflare Worker をデプロイする個人用モデル。
公開サービスとして1つの Worker を運用し、誰でも .mcpb インストールだけで使えるようにする。
理想の UX
- Claude Desktop で
.mcpbをインストール - GitHub アカウントで OAuth 認証
- 監視対象リポジトリを選ぶ
- 完了 — webhook イベントが流れ始める
ユーザーは Cloudflare のことを知る必要がない。
設計課題
認証・オンボーディング
- GitHub App or OAuth でユーザーの GitHub アカウントと連携
- GitHub App を使えば webhook の自動登録も可能
データ分離(マルチテナント)
- ユーザーごとに DO インスタンスを分離
idFromName(userId)でテナント分離- 他人の webhook データが見えてはいけない
コスト・スケーラビリティ
- Cloudflare Workers 無料枠: 100,000 req/day, 10ms CPU
- DO 無料枠: 1M req/month, 1GB storage
- 何ユーザーまで無料枠で捌けるか試算が必要
セキュリティ
- webhook 署名検証はユーザーごとの secret で行う
- OAuth トークンの安全な保管
- rate limiting
SSE / チャンネル通知
- 公開サーバーでも SSE エンドポイントは認証付きで提供
- ローカルブリッジは Worker URL + ユーザートークンで接続
参考
- Discord MCP: 公開サーバー(Discord)+ ローカルブリッジの構成
- 現行 Explore unified architecture: Cloudflare Workers + Durable Objects #48 アーキテクチャをマルチテナント化する拡張
refs
- Explore unified architecture: Cloudflare Workers + Durable Objects #48 (unified architecture)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
speclanguage or system specificationlanguage or system specification