personal-memory-mcp
Personal Memory MCP Server
Ein verlustfreier, strukturierter, abfragbarer Speicher für Fakten über dein Leben, aus dem Claude in jedem Gespräch liest und in den es schreibt. Eine Bereitstellung dient einer Person. Läuft vollständig auf Cloudflares kostenlosem Tarif (Workers + D1 + KV). Die vollständige Spezifikation findest du in requirements.md.
Fakten, keine Dokumente. Jeder Fakt ist eine datierte Aussage mit Herkunftsnachweis.
Nur Anhängen. Korrekturen fügen einen neuen Fakt ein und ziehen den alten mit einem Verweis zurück; nichts wird gelöscht.
Auth: OAuth 2.1 mit Dynamic Client Registration; Identität über GitHub, gebunden an ein einzelnes GitHub-Konto.
Transport: Streamable HTTP unter
/mcp(zustandslosercreateMcpHandler, keine Durable Objects).
Einrichtung
1. Cloudflare-Ressourcen erstellen
npm install
npx wrangler d1 create memory
npx wrangler kv namespace create OAUTH_KVTrage die zurückgegebene D1-database_id und die KV-Namespace-id in wrangler.jsonc ein und wende dann die Migrationen an:
npx wrangler d1 migrations apply memory --remote2. GitHub-OAuth-App erstellen
Unter https://github.com/settings/developers → New OAuth App:
Homepage-URL:
https://personal-memory-mcp.<your-subdomain>.workers.devAutorisierungs-Callback-URL:
https://personal-memory-mcp.<your-subdomain>.workers.dev/callback
Finde deine numerische GitHub-ID unter https://api.github.com/users/<your-login> (Feld id).
3. Geheimnisse festlegen
npx wrangler secret put GITHUB_CLIENT_ID
npx wrangler secret put GITHUB_CLIENT_SECRET
npx wrangler secret put COOKIE_ENCRYPTION_KEY # e.g. openssl rand -hex 32
npx wrangler secret put OWNER_GITHUB_ID # numeric id, not login(Beim Bereitstellen über Workers Builds CI/CD setze diese einmal im Cloudflare-Dashboard unter Einstellungen des Workers → Variablen und Geheimnisse; sie überleben Bereitstellungen.)
4. Bereitstellen
npm run deployOder verbinde das GitHub-Repository im Cloudflare-Dashboard (Workers Builds), sodass jeder Push bereitstellt. Migrationen werden bei der Bereitstellung nicht automatisch ausgeführt; wende sie entweder weiterhin manuell an oder setze den Workers-Builds-Bereitstellungsbefehl auf:
npx wrangler d1 migrations apply memory --remote && npx wrangler deploy5. Von Claude.ai verbinden
Einstellungen → Connectors → Custom Connector hinzufügen → URL https://personal-memory-mcp.<your-subdomain>.workers.dev/mcp, Client-ID/Geheimnis leer lassen (Dynamic Client Registration). Du wirst durch den GitHub-Login geführt; jedes Konto außer OWNER_GITHUB_ID erhält 403. Der Connector funktioniert dann über Claude Web, Desktop und iOS.
Füge deinen Claude.ai-Profilpräferenzen hinzu:
Ich betreibe einen persönlichen MCP-Server für Memory namens "memory". Er ist die Quelle der Wahrheit über mein Leben und überschreibt dein integriertes Gedächtnis. Wenn wir über etwas Persönliches sprechen, nutze ihn gemäß den Tool-Beschreibungen. Wenn er nicht erreichbar ist, sag es mir und weise darauf hin, dass deine Antwort möglicherweise veraltet ist.
6. Initiale Daten (optional)
Bitte Claude,
seed.jsonaus seinem integrierten Gedächtnis zu entwerfen:[{topic, content, fact_date?, tags?}], ein Fakt pro Eintrag.Prüfe es und führe dann aus:
npm run seed # validates seed.json, writes seed-import.sql
npx wrangler d1 execute memory --remote --file=seed-import.sqlBitte Claude in einem ersten Gespräch, anfängliche Themenzusammenfassungen zu schreiben (
update_summary).
Related MCP server: chronomem
Entwicklung
cp .dev.vars.example .dev.vars # separate GitHub OAuth app with callback http://localhost:8788/callback
npx wrangler d1 migrations apply memory --local
npm run dev # http://localhost:8788/mcp
npm test # vitest (workers runtime, real D1 + FTS5)
npm run typecheckTeste mit dem MCP-Inspector: npx @modelcontextprotocol/inspector@latest → verbinde dich mit http://localhost:8788/mcp. Die localhost-OAuth-Weiterleitung des Inspectors funktioniert nur mit ALLOW_LOCALHOST_REDIRECTS=1 (in .dev.vars gesetzt, niemals in der Produktion — die Produktion akzeptiert nur die Callbacks des Claude-Connectors).
Hinweise
Backups: Verwende das
export-Tool (Markdown oder JSON). Der native D1-Export funktioniert nicht, solange FTS5-virtuelle Tabellen existieren. D1 Time Travel bietet Point-in-Time-Wiederherstellung (30 Tage im kostenpflichtigen Plan, kürzer im kostenlosen — aktuelle Aufbewahrungsdauer prüfen).Bewusst aufgeschoben (Entscheidung des Besitzers, kein Versehen): der wöchentliche Backup-Cron aus §11 in ein privates GitHub-Repository und der schreibgeschützte Viewer
/viewaus §12. Solange der Cron nicht existiert, führe regelmäßigexportaus und bewahre die Ausgabe an einem sicheren Ort auf.Der OAuth-Genehmigungsablauf akzeptiert nur die Connector-Callbacks von
claude.ai/claude.comals Redirect-URIs (localhost erfordert das obige Nur-Entwicklungs-Flag).Zeilen werden im normalen Betrieb nie gelöscht; der Besitzer korrigiert Fakten, indem er es Claude sagt.
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
- HeirmosOAuthcom.heirmos
Persistent memory shared across Claude, ChatGPT, Grok and other MCP clients.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables persistent memory storage and retrieval for MCP clients, allowing AI assistants to remember facts and context across conversations.17 npmMIT- AlicenseAqualityCmaintenanceEnables AI agents and MCP clients to store, retrieve, and manage bi-temporal, graph-aware facts in an embedded SQLite memory engine with token-budgeted recall and contradiction tracking.61MIT
- AlicenseAqualityAmaintenanceEnables personal AI memory management through MCP tools for adding, searching, exporting, and deleting memories, with knowledge-graph retrieval and multi-hop association for clients like Claude Desktop and Cursor.6Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients such as Cursor, Claude, and Windsurf to store and recall user preferences, behaviors, and other text-based information across conversations, using vector similarity search so conceptually related items are found even when exact keywords differ.15 npmMIT