Skip to main content
Glama
fl0under

cloud-memory-mcp

by fl0under

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

Related MCP server: Segundo Cérebro

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:

  1. Prompt for your Cloudflare API token

  2. Create a D1 database for memory storage

  3. Create a Vectorize index for semantic search

  4. Deploy a Cloudflare Worker

  5. Generate a secure API token

  6. Output configuration for Claude Desktop, Claude Code, and claude.ai

Configuration

After setup, add the MCP server to your Claude apps:


Claude.ai (Web)

  1. Go to Settings → Connectors → Add MCP Server

  2. Enter the server URL: https://cloud-memory-mcp.YOUR_SUBDOMAIN.workers.dev/mcp

  3. Leave OAuth Client ID and Secret empty

  4. Click Connect

  5. An authorization page will open - enter your API token (starts with cmm_)

  6. 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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Self-hosted semantic memory layer for Claude and MCP-compatible AI clients. Store notes, search by meaning not keywords, and recall relevant context automatically across sessions. Runs free on Cloudflare Workers, D1, Vectorize, and Workers AI
    3 npm
    764
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Self-hosted personal knowledge graph running on Cloudflare, connecting to Claude as an MCP server for capturing atomic concepts and cross-domain analogies.
    21
    -