A Cloudflare Worker that provides remote MCP journal storage, enabling journal sync across multiple machines.
This is a companion to private-journal-mcp - use this when you need cross-machine sync.
- Remote sync: Journal entries accessible from any machine
- Semantic search: Vector search via Cloudflare Vectorize (bge-m3, 1024-dim)
- Flexible auth: Bearer token for CLI, OAuth 2.1 + PIN for Claude.ai web
# Clone and install
cd private-journal-worker
npm install
# Create Cloudflare resources
wrangler d1 create private-journal
wrangler vectorize create private-journal --dimensions=1024 --metric=cosine
# Update wrangler.toml with your database/vectorize IDs
# Set authorization PIN
wrangler secret put AUTHORIZE_PIN
# Deploy
wrangler deploy- Go to Claude.ai Settings → Connectors
- Click "Add custom connector"
- Enter your worker URL:
https://private-journal.YOUR-SUBDOMAIN.workers.dev - Enter your PIN when prompted
- Connection complete
Option A: Bearer Token (recommended for CLI)
# Set the secret on your worker
wrangler secret put JOURNAL_TOKEN
# Add MCP with bearer auth
claude mcp add --transport http \
private-journal https://private-journal.YOUR-SUBDOMAIN.workers.dev/mcp \
--header "Authorization: Bearer YOUR_TOKEN"Option B: OAuth Flow
claude mcp add --transport http \
private-journal https://private-journal.YOUR-SUBDOMAIN.workers.dev/mcpWhen first used, Claude Code will open a browser for OAuth authorization. Enter your PIN to complete setup.
Same tools as private-journal-mcp:
- process_thoughts - Multi-section journaling (feelings, project_notes, user_context, technical_insights, world_knowledge)
- search_journal - Semantic search with optional section/project filters
- read_journal_entry - Read full entry by ID
- list_recent_entries - Browse recent entries
Cloudflare Worker (Streamable HTTP MCP)
├── Workers AI (bge-m3 embeddings)
├── Vectorize (semantic search)
└── D1 (entry storage)
MIT