home-memo-mcp
README.md
# home-memo-mcp
個人ナレッジノート ([`~/.nb/home/knowledge/*.md`](https://github.com/Koutaro-Hanabusa/home-memo)) を、Model Context Protocol (MCP) 経由で検索できるようにする Cloudflare Worker。
`search_knowledge` ツール 1 本を公開する薄いラッパー。実際の RAG は Cloudflare AI Search が担当し、Worker は MCP プロトコルへの変換と Cloudflare Access による認証境界の 2 役だけを持つ。
## 全体アーキテクチャ
```
┌──────────────────────────────┐
│ ~/.nb/home (ローカル) │
│ knowledge/*.md │
└──────────────┬───────────────┘
│ git push
▼
┌──────────────────────────────┐
│ GitHub: Koutaro-Hanabusa/ │
│ home-memo (private) │
└──────────────┬───────────────┘
│ GitHub Actions
│ (sync-ai-search.yml)
│ ・rclone で *.md を R2 に sync
│ ・AI Search を reindex キック
▼
┌──────────────────────────────┐
│ Cloudflare R2 bucket: │
│ home-memo │
└──────────────┬───────────────┘
│ (source binding)
▼
┌──────────────────────────────┐
│ Cloudflare AI Search: │
│ instance = home-memo │
│ embedding = │
│ @cf/qwen/qwen3- │
│ embedding-0.6b │
└──────────────┬───────────────┘
│ Workers binding (HOME_MEMO)
│ ※ 内部認証、Bearer 不要
▼
┌──────────────────────────────┐
│ Worker: home-memo-mcp │◄─ Durable Object
│ このリポ │ HomeMemoMCP (SQLite)
│ /mcp → HomeMemoMCP │ MCP セッション状態
└──────────────┬───────────────┘
│ custom domain
▼
┌──────────────────────────────┐
│ home-memo-mcp.burio16.com │
│ Cloudflare Access で保護 │
│ (Service Token ポリシー) │
└──────────────┬───────────────┘
│ MCP over Streamable HTTP
│ + CF-Access-Client-Id/Secret header
▼
┌──────────────────────────────┐
│ Claude Code │
│ ~/.mcp.json │
│ → mcp__home-memo__ │
│ search_knowledge │
└──────────────────────────────┘
```
## コンポーネント一覧
| 層 | 名前 | 種別 | 補足 |
|---|---|---|---|
| ソース | [`Koutaro-Hanabusa/home-memo`](https://github.com/Koutaro-Hanabusa/home-memo) | GitHub repo (**private**) | ノート本体 (`knowledge/*.md`)。この repo (`home-memo-mcp`) の姉妹 |
| 同期 | `.github/workflows/sync-ai-search.yml` | GitHub Actions | 上記 repo 側に配置。rclone で R2 に sync → AI Search を reindex |
| ストレージ | `home-memo` | R2 bucket | markdown の実体置き場 |
| RAG | `home-memo` | Cloudflare AI Search instance | chunk / embed / retrieval を丸ごとマネージド (旧 AutoRAG) |
| 埋め込み | `@cf/qwen/qwen3-embedding-0.6b` | Workers AI モデル | AI Search が内部で使用 |
| 実行時 | `home-memo-mcp` | Cloudflare Worker (このリポ) | MCP サーバー本体 |
| セッション | `HomeMemoMCP` | Durable Object (SQLite) | McpAgent が要求するステートフル SSE 用 |
| ドメイン | `home-memo-mcp.burio16.com` | Custom domain | Worker のフロント |
| 認証 | Cloudflare Access | Zero Trust Application | Service Token ポリシーで CLI/Claude Code からアクセス |
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues