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.
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 installed
Maintenance
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
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.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/bsahane/memory-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server