Skip to main content
Glama

claude-memory

Speicher + Projektverfolgung für Claude Code. Ein MCP-Server.

  • Semantische Suche über alle bisherigen Claude-Code-Transkripte – neue Sitzungen rufen alte ab, weit über das Kontextfenster hinaus

  • Dauerhafte Notizen (remember) – pro Projekt oder global

  • Strukturierte Verfolgung: Projekte → Meilensteine → Epics → Tickets → Todos, als Roadmap dargestellt

  • Verfolgungselemente in denselben Vektorraum eingebettet – Tickets tauchen in der semantischen Suche auf

  • Projektspezifische Systemprompts, in der Datenbank gespeichert, beim Sitzungsstart injizierbar

Stack: Voyage-AI-Embeddings + Qdrant-Vektordatenbank + SQLite + FastMCP. Alles kostenlos: Das Voyage-Kostenloskontingent deckt die private Nutzung problemlos ab, das Qdrant-Cloud-Kostenloskontingent fasst 1 Million Vektoren (oder lokalen Docker ausführen). 0 $ Betriebskosten.

Einrichtung

Zwei Schlüssel:

git clone https://github.com/mathis-sperlich/claude-memory
cd claude-memory
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
cp .env.example .env
# fill VOYAGE_API_KEY, QDRANT_URL, QDRANT_API_KEY

Zeige mit SCAN_PROJECTS in ingest.py auf deine Transkriptverzeichnisse (Claude Code schreibt sie nach ~/.claude/projects/<codiertes-projektverzeichnis>/*.jsonl).

Erfassen

.venv/bin/python ingest.py --dry-run   # sanity-check chunking
.venv/bin/python ingest.py             # embed + upsert

Idempotent – bei erneuter Ausführung werden nur neue Blöcke eingebettet. Als Cron-Job geeignet. Stündliche launchd-Vorlage: launchd/com.mathis.claude-memory.plist (Pfade bearbeiten, cp nach ~/Library/LaunchAgents/, launchctl load).

Abruf über die Befehlszeile testen:

.venv/bin/python query.py "how did the auth token refresh bug get fixed?"

Schlechte Ergebnisse? Verringere MAX_CHUNK_CHARS in ingest.py oder verwende ein größeres EMBED_MODEL in .env und führe die Erfassung mit --reset erneut aus.

In Claude Code einbinden

~/.claude/settings.json:

{
  "mcpServers": {
    "claude-memory": {
      "command": "/path/to/claude-memory/.venv/bin/python",
      "args": ["/path/to/claude-memory/mcp_server.py"]
    }
  }
}

Claude Code neu starten. Fertig – Claude hat jetzt query_history, remember, Tracking-Tools und Systemprompt-Tools.

Werkzeuge

Speicher

Werkzeug

Zweck

query_history(frage, k=, projekt=, seit=, art=)

Semantische Suche über alles. art: note, transcript, tracking oder Untertyp

list_recent_sessions(tage=, projekt=)

Woran habe ich zuletzt gearbeitet

remember(inhalt, titel=, tags=, projekt=)

Dauerhafte Notiz speichern. projekt grenzt sie ein; weglassen → global (erscheint in der Suche jedes Projekts)

list_notes(tag=, limit=) / forget(notiz_id)

Notizen verwalten

Verfolgung

Hierarchie: Projekt → Meilenstein (optional) → Epic → Ticket → Todo.

Werkzeug

Zweck

create_project(name, beschreibung=)

Oberste Ebene der Hierarchie

create_milestone(projekt, name, beschreibung=, zieldatum=)

Was zusammen ausgeliefert wird

create_epic(projekt, titel, beschreibung=, meilenstein=, priorität=)

Tickets zu einem Ziel bündeln

create_ticket(projekt, titel, beschreibung=, epic=, priorität=)

Arbeitseinheit

create_todo(projekt, titel, beschreibung=, ticket=, priorität=)

Kleiner Schritt

list_items(art=, projekt=, status=, übergeordnete_id=)

Gefilterte Liste

get_item(id)

Ein Element + Unterelemente

update_item(id, status=, titel=, beschreibung=, priorität=, ...)

Teilweises Aktualisieren, Fehler bei nicht zutreffenden Feldern

delete_item(id)

Löschen. Projekte müssen zuerst leer sein

get_roadmap(projekt)

Markdown-Roadmap: Meilensteine → Epics → Tickets + Fortschritt

list_projects()

Jeder Projektname über alle Speicher hinweg

status: open / in_progress / done. priorität: P0P3.

Systemprompts

set_system_prompt(inhalt, projekt=) / get_system_prompt(projekt=) / list_system_prompts() / delete_system_prompt(projekt=). Globale und projektspezifische Ebenen, beim Lesen zusammengesetzt. Gespeichert in tracking.db. Fällt auf docs/usage.md zurück, wenn nicht gesetzt.

Hooks (optional, deterministisch)

MCP-Werkzeuge werden ausgelöst, wenn das Modell es entscheidet. Hooks werden immer ausgelöst. hooks/session_start.py injiziert bei jedem Sitzungsstart die offenen Tickets und den Systemprompt des aktuellen Projekts:

{
  "hooks": {
    "SessionStart": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "/path/to/claude-memory/.venv/bin/python /path/to/claude-memory/hooks/session_start.py"
      }]
    }]
  }
}

Fernzugriff (optional)

Standard = lokales stdio, null Netzwerkverkehr. Möchtest du denselben Speicher von claude.ai oder anderen Rechnern aus? HTTP-Transport + Cloudflare-Tunnel + GitHub-OAuth mit Anmelde-Zulassungsliste:

.venv/bin/python mcp_server.py --transport http --port 8765

Vollständige Anleitung inkl. launchd-Diensten und selbstheilendem Watchdog: CLOUD_SETUP.md.

Hinweise

  • Datenschutz: Voyage sieht Text beim Einbetten (kein Training mit Kundendaten laut AGB), Qdrant Cloud speichert Vektoren und Nutzdaten. Wenn dich beides betrifft → lokales Qdrant + lokaler Embedder, gleicher Code.

  • Steckengebliebene Einbettungsanfragen werden durch die Umgebungsvariablen VOYAGE_TIMEOUT / VOYAGE_MAX_RETRIES begrenzt (Standard 20 s / 2).

-
license - not tested
-
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 Connectors

  • The project brain for AI coding agents — memory, decisions, sprints, knowledge base via MCP.

  • Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.

  • Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.

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/mathis-sperlich/claude-memory'

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