Cloud Memory MCP
A minimal, tag-free personal memory system that syncs across all Claude interfaces. Built on Cloudflare's edge stack for zero-maintenance serverless operation.
README
Cloud Memory MCP
A minimal, tag-free personal memory system that syncs across all Claude interfaces (mobile, web, desktop, Claude Code). Built on Cloudflare's edge stack for zero-maintenance serverless operation.
Features
- Semantic Search: Store memories with automatic embeddings, search by meaning
- Cross-Platform: Works with Claude Desktop, Claude Code, claude.ai, and mobile
- Zero Maintenance: Runs entirely on Cloudflare's edge infrastructure
- Privacy-First: Your memories stay in your Cloudflare account
- Simple Design: No tags, no categories - just store and search
Quick Start
Installation
npm install -g cloud-memory-mcp
# or
npx cloud-memory-mcp init
Setup
Run the interactive setup wizard:
cloud-memory-mcp init
This will:
- Prompt for your Cloudflare API token
- Create a D1 database for memory storage
- Create a Vectorize index for semantic search
- Deploy a Cloudflare Worker
- Generate a secure API token
- Output configuration for Claude Desktop, Claude Code, and claude.ai
Configuration
After setup, add the MCP server to your Claude apps:
Claude.ai (Web)
- Go to Settings → Connectors → Add MCP Server
- Enter the server URL:
https://cloud-memory-mcp.YOUR_SUBDOMAIN.workers.dev/mcp - Leave OAuth Client ID and Secret empty
- Click Connect
- An authorization page will open - enter your API token (starts with
cmm_) - Click Authorize to complete the connection
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"memory": {
"url": "https://cloud-memory-mcp.YOUR_SUBDOMAIN.workers.dev/mcp",
"transport": "sse",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Claude Code
Add to ~/.claude/settings.json:
{
"mcpServers": {
"memory": {
"url": "https://cloud-memory-mcp.YOUR_SUBDOMAIN.workers.dev/mcp",
"transport": "sse",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
## MCP Tools
### `remember`
Store a new memory with automatic embedding generation.
```json
{
"content": "The security consultancy charges $2k for quick scan, $5k for full audit",
"source": "web"
}
recall
Semantic search with optional filters.
{
"query": "security pricing",
"limit": 10,
"after": "2025-01-01T00:00:00Z",
"source": "web",
"threshold": 0.3
}
forget
Delete memories by ID or time range.
{
"id": "01HXK5V2XQZJ8N4M3R7P6T9Y2W"
}
Or bulk delete:
{
"before": "2024-01-01T00:00:00Z",
"confirm": true
}
list
List recent memories without semantic search.
{
"limit": 20,
"offset": 0,
"source": "claude-code",
"order": "newest"
}
stats
Get memory statistics.
{}
Returns:
{
"total_memories": 1523,
"by_source": {
"mobile": 234,
"web": 890,
"claude-code": 399
},
"oldest": "2025-01-15T08:00:00Z",
"newest": "2025-06-20T14:30:00Z"
}
CLI Commands
cloud-memory-mcp init
Interactive setup wizard that creates all necessary Cloudflare resources.
cloud-memory-mcp status
Check deployment status and memory statistics.
cloud-memory-mcp deploy
Redeploy the worker after making local changes.
cloud-memory-mcp destroy
Tear down all Cloudflare resources. Requires typing "delete my memories" to confirm.
cloud-memory-mcp token show
Display your current API token (for copying to new devices).
cloud-memory-mcp token rotate
Generate a new token and invalidate the old one.
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Cloudflare Edge │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │ Worker │ │ D1 │ │ Vectorize │ │
│ │ (MCP API) │◄──►│ (SQLite) │◄──►│ (Embeddings) │ │
│ └─────────────┘ └─────────────┘ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Workers AI │ │
│ │ (bge-m3 embed) │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
MCP over HTTP (SSE)
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
Claude Mobile Claude.ai Web Claude Code
Cloudflare Free Tier Limits
| Resource | Free Limit | Notes |
|---|---|---|
| Workers | 100k req/day | Plenty for personal use |
| D1 | 5GB storage, 5M rows read/day | ~500k memories at 10KB each |
| Vectorize | 200k vectors, 30M queried/month | Ample for personal use |
| Workers AI | 10k neurons/day | ~300 embeddings/day |
Development
Prerequisites
- Node.js 18+
- npm or yarn
- Cloudflare account
Local Development
# Install dependencies
npm install
# Build
npm run build
# Run locally with wrangler
npm run dev
Project Structure
cloud-memory-mcp/
├── src/
│ ├── index.ts # Worker entry point, MCP handler
│ ├── tools/
│ │ ├── remember.ts # remember tool
│ │ ├── recall.ts # recall tool
│ │ ├── forget.ts # forget tool
│ │ ├── list.ts # list tool
│ │ └── stats.ts # stats tool
│ ├── lib/
│ │ ├── embeddings.ts # Workers AI embeddings
│ │ ├── vectorize.ts # Vectorize operations
│ │ ├── db.ts # D1 database operations
│ │ └── ulid.ts # ULID generation
│ └── types.ts # TypeScript interfaces
├── cli/
│ ├── index.ts # CLI entry point
│ ├── commands/
│ │ ├── init.ts # Setup wizard
│ │ ├── deploy.ts # Deploy worker
│ │ ├── status.ts # Check status
│ │ ├── destroy.ts # Tear down
│ │ └── token.ts # Token management
│ └── lib/
│ ├── cloudflare-api.ts # Cloudflare API client
│ ├── prompts.ts # Interactive prompts
│ ├── config.ts # Config management
│ └── crypto.ts # Token generation
├── migrations/
│ └── 0001_initial.sql # D1 schema
├── wrangler.toml # Cloudflare Worker config
├── package.json
└── tsconfig.json
Security
- All requests (except
/health) require bearer token authentication - Tokens use the format
cmm_+ 32 random alphanumeric characters - Tokens are stored as encrypted Cloudflare Worker secrets
- Local credentials are stored in
~/.config/cloud-memory-mcp/credentials.json
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.