Skip to main content
Glama
ady133t

Cloudflare Memory MCP

by ady133t

Cloudflare Memory MCP

Ein projektspezifischer Memory-MCP-Server für opencode, vollständig auf Cloudflares kostenlosem Tarif gehostet:

  • Notizen – einfache schlüsselbasierte Speichereinträge mit Tags und Typen

  • Vektor – semantischer Abruf über Vectorize (Embeddings von Workers AI @cf/baai/bge-m3, 1024-dimensional, mehrsprachig)

  • Graph – Entitäten + Relationen in D1 (SQLite) mit rekursiver Traversierung

  • Web-Dashboard – öffne / in einem Browser, um jedes Projekt mit seinen Memories zu sehen. Jede Projektkarte öffnet eine Detailansicht mit einem interaktiven kraftbasierten Graphen seiner Entitäten und Relationen (Mausrad = Zoomen, Ziehen = Verschieben, Doppelklick oder Buttons = Zurücksetzen, Hover = Nachbarn hervorheben) sowie einen Projekt löschen-Button, der das Projekt, seine Notizen, den Graphen, FTS-Zeilen, Caches und Vektor-Embeddings entfernt

opencode ── MCP (streamable HTTP + Bearer auth) ──> Worker
                                                     ├─ Vectorize   memory-vectors (namespace per project)
                                                     ├─ D1          projects / notes / nodes / edges / FTS5
                                                     ├─ Workers AI  bge-m3 embeddings
                                                     └─ KV          recent-memories cache

Screenshots

Projektliste

Das Dashboard listet jedes dem Konto bekannte Projekt auf, darunter die Anzahl der Notizen, Entitäten, Relationen und der letzten Aktivität.

Wissensgraph

Öffne ein Projekt, um seine Memories und seinen Graphen zu inspizieren. Der Graph unterstützt gekrümmte, gerichtete Kanten, Hervorhebung bei „Hover“, Mausrad-Zoom, Paning per Ziehen und Z urücksetzen.

Related MCP server: MCP Memory

Wie die Ordnerisolierung funktioniert

Der Server führt seine MCP-Sitzungen in einem Durable Object aus (kostenloser Tarif, SQLite-Backend) und heftet jede Nachricht einer Sitzung an genau ein isoliertes Isolate. Die Projektidentität wird in dieser Reihenfolge aufgelöst:

  1. project_root-Toolargument (empfohlen) – du übergibst deinen Arbeitsordner an jedes Tool, z. B. remember({ project_root: "D:/Projects/foo", content: ... }). Der Server bildet einen Hash aus einer normalisierten Form des Pfads auf eine stabile Projekt-ID und behält sie für den Rest der Sitzung in Erinnerung, sodass spätere Aufrufe sie weglassen können. Das Tool exist_project existiert, um sie explizit festzulegen.

  2. project_id-Toolargument – eine explizite ID (ebenfalls für die Sitzung zwischengespeichert).

  3. x-project-root / x-project-id-Header – für Clients, die diese konfigurieren.

  4. MCP roots – automatische Ordnererkennung, wenn der Client das unterstützt.

Da die Identität nur ein Hash des normalisierten Pfads ist, führt derselbe Ordner, auch wenn er über einen anderen absoluten Pfad geöffnet wird, weiterhin auf dasselbe Projekt. Jeder Lese- und Schreibvorgang ist auf diese ID beschränkt – Vectorize-Abfragen verwenden einen Namespace pro Projekt, und jede D1-Abfrage filtert nach project_id, sodass zwei Ordner sich niemals gegenseitig sehen können.

Verwendung aus opencode

opencodes offen habe ich mich in Treibsand begeben – das ist nicht gut.

When using the memory MCP tools, pass project_root (your bash cwd) on the first
memory call of the session.

Setup

Voraussetzungen: Node 18+, ein Cloudflare-Konto und ein einmaliges npx wrangler login.

npm install
npm run setup        # creates D1 db, KV namespace, Vectorize index; patches wrangler.toml
npm run db:migrate:remote
npx wrangler secret put MEMORY_AUTH_TOKEN   # optional but strongly recommended
npm run deploy

Deine Endpunkte:

  • MCP: https://cloudflare-memory-mcp.<your-subdomain>.workers.dev/mcp

  • Dashboard: https://cloudflare-memory-mcp.<your-subdomain>.workers.dev/

Lokale Entwicklung:

npm run dev              # wrangler dev --local  (AI + Vectorize are remote-only)
npm run db:migrate:local

Einbindung in opencode

Ein einziger Eintrag – dieselbe Konfiguration funktioniert in jedem Projekt. Keine projektspezifischen Werte nötig:

// ~/.config/opencode/opencode.jsonc
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "memory": {
      "type": "remote",
      "url": "https://cloudflare-memory-mcp.<your-subdomain>.workers.dev/mcp",
      "oauth": false,
      "headers": {
        "Authorization": "Bearer {env:MEMORY_AUTH_TOKEN}"
      }
    }
  }
}

Die Projektidentität wird dann vom Agenten selbst bestimmt: sie übergibt ihr Arbeitsverzeichnis als project_root beim ersten Memory-Aufruf jeder Sitzung (siehe den AGENTS.md-Hinweis oben), und der Server bindet von da an alles an diesen Ordner.

Das Dashboard (/) fragt einmal nach demselben MEMORY_AUTH_TOKEN und hört es in localStorage. Wenn du MEMORY_AUTH_TOKEN leer lässt, ist alles öffentlich – das nur für private/wiederverwendbare Experimente sinnvoll.

MCP-Tools

Tool

Zweck

identify_project

Fixiert die Projektidentität für die Sitzung über project_root / project_id (gibt die aufgelöste ID zurück)

remember

Speichert eine Notiz (bettet sie für den semantischen Abruf ein); fügt optional entities und relations per Upsert in den Graphen ein

query_memory

Semantische / Vektor-Suche – Abruf nach Bedeutung. Hinweis: Mutationen in Vectorize sind asynchron, eine Notiz ist wenige Sekunden nach remember semantisch abrufbar; für sofortigen Abruf search_memory verwenden

search_memory

Exakte Stichwortsuche (D1 FTS5)

get_recent_memories

Neueste Notizen für das Projekt

get_project_context

Bündelt Statistik, neueste Memories, Top-Entitäten und aktuelle Relationen (explizit aufrufen)

add_entity / add_relation

Erweitere den Wissensgraphen gezielt

query_graph

Nachbarn einer Entität (Tiefe 1–3) oder am stärksten verbundene Entitäten

forget

Löscht eine Notiz samt zugehörigem Embedding

Alle Tools akzeptieren ein optionales project_root (Ordnerpfad oder file://-URI) und project_id; sobald eines von beiden in einer Sitzung angegeben wurde, wird es gespeichert.

Budget für den kostenlosen Tarif

Ressource

Kostenloses Kontingent

Anmerkungen

Durable Object

100k Anfragen/Tag, ca. 28 Std. aktiv/Tag

Hostes MCP-Sitzungen; ca. 1 Anfrage pro MCP-Nachricht

Vectorize

5 M gespeicherte Dimensionen

ca. 4.800 eingebettete Notizen bei 1024-dimensionalen; aufräumen mit forget. Abfragen ca. 29k/Monat

Workers AI

10k Neuronen/Tag

bge-m3-Embedding einer 1k-Token-Notiz ≈ 1 Neuron → Tausende/Tag

D1

5 GB / 500 MB pro Datenbank

Notizen + Graph + FTS sind bei privater Nutzung praktisch unbegrenzt

KV / Worker

1 GB / 100k Anfragen/Tag

Caches + Premiere; einige Anfragen pro opencode-Sitzung

Wenn du einmal an die Vektor-Obergrenze stößt, gibt es Design-Hebel: Bette die nur die dauerhaften Memories ein (remember mit type: "decision" | "fact" ) und überlasse search_memory (FTS5, ungedeckelt) den Long Tail; oder baue den Index mit bge-small (384-dimensional, nur Englisch) neu auf, für die ca. 3-fache Kapazität.

Projektstruktur

src/index.ts      fetch router: dashboard, /api/*, /mcp -> Durable Object
src/session-do.ts MCP session host (Durable Object): sessions, SSE, roots, identity
src/tools.ts      the 10 tool definitions (zod schemas + implementations)
src/store.ts      D1 / Vectorize / KV data layer
src/identity.ts   project-id derivation from folder roots
src/embed.ts      Workers AI bge-m3 embeddings
src/api.ts        dashboard API (projects, detail, graph, delete)
src/web.ts        dashboard page (token-gated)
migrations/       D1 schema
scripts/setup.mjs  creates Cloudflare resources and patches wrangler.toml
AGENTS.md          template to copy into projects that use this memory server
F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to remember user information and preferences across conversations using vector search technology. Built on Cloudflare infrastructure with isolated user namespaces for secure, persistent memory storage.
    16
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to remember and retrieve user information across conversations using vector search technology. Built on Cloudflare infrastructure with isolated user namespaces for secure, persistent memory storage.
    16
  • 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
    4
    737
    MIT

View all related MCP servers

Related MCP Connectors

  • Universal memory for AI agents and tools. Save, organize and search context anywhere.

  • Cross-session, cross-device memory for your agent: remember and recall notes. No key to start.

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ady133t/Cloudflare-Memory-Mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server