Memory MCP Server
Memory MCP Server
Ein MCP-Server (Model Context Protocol), der KI‑Agenten ein persistentes Gedächtnis verleiht. Gedächtnisinhalte werden in einer lokalen SQLite-Datenbank gespeichert (automatisch erstellt, keine Konfiguration erforderlich) und über vierzig Werkzeuge in einer tools‑first Architektur zugänglich gemacht. Das System basiert auf dem Produktionsgerüst template-mcp-server (FastMCP + FastAPI, strukturierte Protokollierung, Container, OpenShift‑Manifeste, CI).
Funktionen
40 MCP‑Tools in vier Domänen: Gedächtnis, Aufgaben, Zeit (Erinnerungen/Alerts), Dashboard
Sieben Gedächtnis‑Tools: store, get, search, list, update, delete, projects
Sieben Todo‑Tools: create/search/list/get/update/complete/delete mit Priorität und Fälligkeit
Acht Kanban‑Tools: Boards mit konfigurierbaren Spalten; Karte hinzufügen/verschieben/ändern/löschen
Sieben Tracker‑Tools: Statustracker, dessen Einträge in Fortschrittskennzahlen aggregieren
SQLite‑Persistenz über aiosqlite – eine Datei, optimierte WAL‑Basis, automatische Erstellung
Volltext‑Keywordsuche – „whole‑word“- und Porter‑Stemming‑Matches über einen FTS5‑Index, sortiert nach Relevanz (bester Treffer zuerst)
Tags und Metadaten für Gedächtnisinhalte und Todos
FastMCP + FastAPI mit mehreren Transports (HTTP, SSE, Streamable‑HTTP)
Pydantic‑Konfiguration über Umgebungsvariablen
Strukturiertes JSON‑Logging mit structlog
OAuth‑Integration (standardmäßig deaktiviert; siehe
docs/authentication.md)Container‑Ready (Red‑Hat‑UBI‑Basisimage) und OpenShift‑Manifeste inklusive
Such- und Speicherverhalten
Die Suche (memory_search, todo_search) arbeitet mit ganzen Worten über einem Porter‑gestemmten Volltextindex: Teilwörter treffen nie (die Abfrage check matcht nicht checklist), Satzzeichen und Operatoren werden wörtlich interpretiert, und die Ergebnisse sind nach bm25‑Relevanz sortiert – stärkster Treffer zuerst, bei Gleichstand der neueste zuerst. Hinweis: Die unicode61‑Tokenisierung behandelt einen gesamten CJK‑Satz als ein Token, daher setzt die „Ganz‑Wort“-Suche Leerzeichen‑getrennte Skripte voraus.
Die Datenbank läuft im WAL‑Modus mit synchronous=NORMAL: Kurz zurückliegende Transaktionen können bei einem Betriebssystemabsturz oder Stromausfall verloren gehen (ein bewusster Kompromiss für Notizen/Aufgaben – nicht für ein „System of Record“ geeignet). Die WAL‑Dateigröße bleibt durch wal_autocheckpoint stabil (ca. 1000 Seiten ≈ 4 MB); journal_size_limit (8 MB) erlaubt es SQLite lediglich, die WAL‑Datei nach einem Checkpoint zu kürzen. Wartungsarbeiten (PRAGMA optimize und ein wal_checkpoint(TRUNCATE)‑Durchlauf) werden alle zehn Poll‑Tick in der Erinnerungsschleife ausgeführt und können einen Tick kurz verzögern; sie sind durch das „Timeout des jeweiligen Hooks“ und das Busy‑Timeout der Datenbank begrenzt.
Related MCP server: Agent Progress Tracker MCP Server
Schnellstart
git clone https://github.com/redhat-data-and-ai/memory-mcp-server
cd memory-mcp-server
make install # creates venv, installs deps + pre-commit hooks
make local # starts server on localhost:5001In einem anderen Terminal überprüfen:
curl http://localhost:5001/healthManuelle Einrichtung (ohne Make):
# Create venv and install
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pre-commit install
# Configure and run
cp .env.example .env
memory-mcp-server
# Verify
curl http://localhost:5001/healthTools
Gedächtnis
Tool | Zweck |
| Neues Gedächtnis speichert und gibt dessen id zurück |
| Holt einen Gedächtnis per id |
| Volltext-Keywordsuche über den Inhalt, sortiert nach Relevanz |
| Durchsuchen der Gedächtnisse, neueste zuerst |
| Aktualisiert ein Gedächtnis teilweise |
| Entfernt ein Gedächtnis anhand der id |
Todos
Tool | Zweck |
| Fügt eine strukturierte Aufgabe hinzu |
| Ganz‑Wort‑Keywordsuche über Titel/Beschreibung, nach Relevanz geordnet |
| Durchsucht Todos mit Filtern |
| Verwaltet einzelne Todos |
Kanban
Tool | Zweck |
| Neues Board; Standard: backlog/todo/in_progress/done |
| Boards aufzählt oder löscht |
| Kompletter Board‑Zustand, nach Spalten gruppiert |
| Arbeit platzieren und neu sortieren |
| Karten bearbeiten oder entfernen |
Erinnerungen & Alerts
Tool | Zweck |
| Zeitpläne für zukünftige Benachrichtigung (keine/stündliche/tägliche/wöchentliche Wiederholungen) |
| Zeitplan anzeigen oder bearbeiten |
| Nächstfällige zuerst |
| Zeitpläne verwalten |
| Ausgelöste Alerts prüfen und bestätigen |
Ein Hintergrund‑Schedder erstellt aus fälligen Erinnerungen server‑seitig Alerts; diese können beim Session‑Start mit alert_list(acknowledged=false) abgefragt werden.
Dashboard
Tool | Zweck |
| Domänenübergreifende Zähler, unbeantwortete Alerts und das Nächstgeplante ( |
Tracker
Tool | Zweck |
| Tracker verwalten |
| Einträge verfolgen (not_started/in_progress/blocked/done) |
| Fortschritt: Total/done/Prozent plus Zähler pro Status |
Alle Tools geben ein Wörterbuch der Form {status: "success" | "error", ...} zurück und lösen nie eine Ausnahme über die Tool‑Grenze aus.
Konfiguration
Variable | Standard | Beschreibung |
|
| SQLite‑Datenbankdatei (automatisch erstellt, Ordner werden angelegt) |
|
| Hintergrund‑Schedulerintervall zum Auslösen fälliger Erinnerungen |
|
| Binde‑Adresse des Servers |
|
| Serverport (1024–65535) |
|
| Transportprotokoll ( |
|
| SSL‑Schlüssel/zertifikate für HTTPS |
|
| OAuth‑Authentifizierung (siehe |
|
| Protokollierungsstufe |
* ENABLE_AUTH ist in .env.example standardmäßig False. Kopieren Sie .env.example immer zu .env, um mit Auth aktiviert zu starten.
Verbinden eines MCP‑Clients
Richten Sie Ihren MCP‑Client auf den Serverendpunkt:
{
"mcpServers": {
"memory": {
"url": "http://localhost:5001/mcp"
}
}
}Ein funktionierendes Beispiel in examples/fastmcp_client.py zeigt, wie Sie Erinnerungen speichern und suchen.
Entwicklung
make lint # ruff + mypy
make test # pytest with coverage
make pre-commit # run all pre-commit hooksFunktionen
Leitfaden | Beschreibung |
Systemdiagramme, Code‑Struktur, Hauptkomponenten | |
Einrichtung, lokale Ausführung, Tests, Codequalität | |
Podman, OpenShift, Container‑Konfiguration | |
OAuth‑Einrichtung, Auth‑Modi, Fehlerbehebung |
Lizenz
Apache 2.0 – abgeleitet von redhat-data-and-ai/template-mcp-server.
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory for AI agents. Search, store, and recall across sessions.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Persistent memory for AI agents. Search and store durable facts, preferences and decisions.
- mem0OAuthio.github.mem0ai
Persistent memory for AI agents: add, search, update, and delete long-term memories.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceProvides persistent local memory functionality for AI assistants, enabling them to store, retrieve, and search contextual information across conversations with SQLite-based full-text search. All data stays private on your machine while dramatically improving context retention and personalized assistance.3-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to track, search, and retrieve their progress across projects with persistent memory using SQLite storage and LLM-powered summarization. Supports logging completed work, searching previous entries, and retrieving context for multi-step or multi-agent workflows.12 npmMIT
- AlicenseAqualityBmaintenanceProvides AI coding assistants with persistent memory storage using a local SQLite database. Enables tools to remember project details, notes, and relationships across sessions to maintain context and reduce repetitive explanations.174MIT
- AlicenseNot gradedqualityCmaintenanceGives AI coding agents persistent memory by storing observations, decisions, and learnings in a local SQLite database with vector search, full-text search, and a rules engine.4MIT