Skip to main content
Glama

mem0 Memory System

Mem0 Logo

@pinkpixel/mem0-mcp MCP-Server ✨

Ein Model Context Protocol (MCP)-Server, der in Mem0.ai integriert ist, um persistenten Speicher für LLMs bereitzustellen. Er ermöglicht KI-Agenten das Speichern und Abrufen von Informationen über Sitzungen hinweg.

Dieser Server verwendet für seine Kernfunktionalität das mem0ai Node.js SDK.

Funktionen 🧠

Werkzeuge

  • add_memory : Speichert einen Textinhalt als Speicher, der mit einer bestimmten userId verknüpft ist.
    • Erforderlich: content (Zeichenfolge), userId (Zeichenfolge)
    • Optional: sessionId (Zeichenfolge), agentId (Zeichenfolge), orgId (Zeichenfolge), projectId (Zeichenfolge), metadata (Objekt)
    • Erweitert (Cloud-API): includes (Zeichenfolge), excludes (Zeichenfolge), infer (Boolesch), outputFormat (Zeichenfolge), customCategories (Objekt), customInstructions (Zeichenfolge), immutable (Boolesch), expirationDate (Zeichenfolge)
    • Speichert den bereitgestellten Text, sodass er bei zukünftigen Interaktionen wieder aufgerufen werden kann.
  • search_memory : Durchsucht gespeicherte Erinnerungen basierend auf einer Abfrage in natürlicher Sprache nach einer bestimmten userId .
    • Erforderlich: query (Zeichenfolge), userId (Zeichenfolge)
    • Optional: sessionId (Zeichenfolge), agentId (Zeichenfolge), orgId (Zeichenfolge), projectId (Zeichenfolge), filters (Objekt), threshold (Zahl)
    • Erweitert (Cloud-API): topK (Zahl), fields (Array), rerank (Boolesch), keywordSearch (Boolesch), filterMemories (Boolesch)
    • Ruft relevante Erinnerungen auf der Grundlage semantischer Ähnlichkeit ab.
  • delete_memory : Löscht einen bestimmten Speicher anhand seiner ID aus dem Speicher.
    • Erforderlich: memoryId (Zeichenfolge), userId (Zeichenfolge)
    • Optional: agentId (Zeichenfolge), orgId (Zeichenfolge), projectId (Zeichenfolge)
    • Entfernt den angegebenen Speicher dauerhaft.

Voraussetzungen 🔑

Dieser Server unterstützt zwei Speichermodi:

  1. Cloud-Speichermodus ☁️ (empfohlen)
    • Erfordert einen Mem0-API-Schlüssel (bereitgestellt als Umgebungsvariable MEM0_API_KEY )
    • Erinnerungen werden dauerhaft auf den Cloud-Servern von Mem0 gespeichert
    • Keine lokale Datenbank erforderlich
  2. Lokaler Speichermodus 💾
    • Erfordert einen OpenAI-API-Schlüssel (bereitgestellt als Umgebungsvariable OPENAI_API_KEY )
    • Erinnerungen werden in einer In-Memory-Vektordatenbank gespeichert (standardmäßig nicht persistent).
    • Daten gehen beim Neustart des Servers verloren, sofern sie nicht für die dauerhafte Speicherung konfiguriert sind.

Installation & Konfiguration ⚙️

Sie können diesen Server hauptsächlich auf drei Arten ausführen:

1. Globale Installation (Empfohlen für häufigen Gebrauch)

Installieren Sie das Paket global und verwenden Sie den Befehl mem0-mcp :

npm install -g @pinkpixel/mem0-mcp

Nach der globalen Installation können Sie den Server direkt ausführen:

mem0-mcp

Konfigurieren Sie Ihren MCP-Client für die Verwendung des globalen Befehls:

Cloud-Speicherkonfiguration (globale Installation)
{ "mcpServers": { "mem0-mcp": { "command": "mem0-mcp", "args": [], "env": { "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE", "DEFAULT_USER_ID": "user123", "ORG_ID": "your-org-id", "PROJECT_ID": "your-project-id" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }
Lokale Speicherkonfiguration (Globale Installation)
{ "mcpServers": { "mem0-mcp": { "command": "mem0-mcp", "args": [], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user123" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

2. Verwenden von npx (Empfohlen für gelegentliche Verwendung)

Konfigurieren Sie Ihren MCP-Client (z. B. Claude Desktop, Cursor, Cline, Roo Code usw.), um den Server mit npx auszuführen:

Cloud-Speicherkonfiguration (npx)
{ "mcpServers": { "mem0-mcp": { "command": "npx", "args": [ "-y", "@pinkpixel/mem0-mcp" ], "env": { "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE", "DEFAULT_USER_ID": "user123", "ORG_ID": "your-org-id", "PROJECT_ID": "your-project-id" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }
Lokale Speicherkonfiguration (npx)
{ "mcpServers": { "mem0-mcp": { "command": "npx", "args": [ "-y", "@pinkpixel/mem0-mcp" ], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user123" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

3. Ausführen aus einem geklonten Repository

Hinweis: Für diese Methode müssen Sie zuerst das Repository per Git klonen.

Klonen Sie das Repository, installieren Sie Abhängigkeiten und erstellen Sie den Server:

git clone https://github.com/pinkpixel-dev/mem0-mcp cd mem0-mcp npm install npm run build

Konfigurieren Sie dann Ihren MCP-Client so, dass das erstellte Skript direkt mithilfe von node ausgeführt wird:

Cloud-Speicherkonfiguration (geklontes Repository)
{ "mcpServers": { "mem0-mcp": { "command": "node", "args": [ "/absolute/path/to/mem0-mcp/build/index.js" ], "env": { "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE", "DEFAULT_USER_ID": "user123", "ORG_ID": "your-org-id", "PROJECT_ID": "your-project-id" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }
Lokale Speicherkonfiguration (geklontes Repository)
{ "mcpServers": { "mem0-mcp": { "command": "node", "args": [ "/absolute/path/to/mem0-mcp/build/index.js" ], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user123" }, "disabled": false, "alwaysAllow": [ "add_memory", "search_memory", "delete_memory" ] } } }

Wichtige Hinweise:

  1. Ersetzen Sie /absolute/path/to/mem0-mcp/ durch den tatsächlichen absoluten Pfad zu Ihrem geklonten Repository
  2. Verwenden Sie die Datei build/index.js , nicht die Datei src/index.ts
  3. Der MCP-Server benötigt sauberes stdout für die Protokollkommunikation – alle Bibliotheken oder Codes, die in stdout schreiben, können das Protokoll stören

Standard-Benutzer-ID (optionaler Fallback)

Sowohl das Tool add_memory als auch das Tool search_memory erfordern ein userId Argument, um Erinnerungen einem bestimmten Benutzer zuzuordnen.

Zur Vereinfachung beim Testen oder in Einzelbenutzerszenarien können Sie beim Serverstart optional die Umgebungsvariable DEFAULT_USER_ID festlegen. Wenn diese Variable gesetzt ist und das Argument userId beim Aufruf des Tools search_memory weggelassen wird, verwendet der Server den Wert von DEFAULT_USER_ID für die Suche.

Hinweis: Obwohl dieser Fallback vorhanden ist, wird generell empfohlen, dass der aufrufende Agent (LLM) sowohl beim Hinzufügen als auch beim Suchen von Speichern explizit die richtige userId angibt, um Mehrdeutigkeiten zu vermeiden.

Beispielkonfiguration mit DEFAULT_USER_ID :

{ "mcpServers": { "mem0-mcp": { "command": "npx", "args": [ "-y", "@pinkpixel/mem0-mcp" ], "env": { "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE", "DEFAULT_USER_ID": "user123", "ORG_ID": "your-org-id", "PROJECT_ID": "your-project-id" } } } }

Oder bei direkter Ausführung mit node :

git clone https://github.com/pinkpixel-dev/mem0-mcp cd mem0-mcp npm install npm run build
{ "mcpServers": { "mem0-mcp": { "command": "node", "args": [ "path/to/mem0-mcp/build/index.js" ], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", "DEFAULT_USER_ID": "user123" } } } }

Cloud vs. lokaler Speicher 🔄

Cloud-Speicher (Mem0 API)

  • Standardmäßig persistent – Ihre Erinnerungen bleiben über Sitzungen und Serverneustarts hinweg verfügbar
  • Keine lokale Datenbank erforderlich – Alle Daten werden auf den Servern von Mem0 gespeichert
  • Höhere Abrufqualität – Verwendet die optimierten Suchalgorithmen von Mem0
  • Zusätzliche Felder – Unterstützt agent_id und threshold
  • Erfordert - Ein Mem0 API-Schlüssel

Lokaler Speicher (OpenAI API)

  • Standardmäßig im Arbeitsspeicher – Daten werden nur im RAM gespeichert und sind nicht dauerhaft persistent . Zwar kann es zu einem gewissen Caching kommen, aber Sie sollten sich für die dauerhafte Speicherung nicht darauf verlassen.
  • Datenverlustrisiko - Speicherdaten gehen beim Neustart des Servers, des Systems oder bei Beendigung des Prozesses verloren
  • Empfohlen für : Entwicklung, Tests oder nur vorübergehende Verwendung
  • Für dauerhaften Speicher - Verwenden Sie die Cloud-Speicheroption mit Mem0-API, wenn Sie zuverlässigen Langzeitspeicher benötigen
  • Verwendet OpenAI-Einbettungen – Für die Vektorsuchfunktion
  • In sich geschlossen – Alle Daten bleiben auf Ihrem Computer
  • Erfordert - Einen OpenAI API-Schlüssel

Entwicklung 💻

Klonen Sie das Repository und installieren Sie Abhängigkeiten:

git clone https://github.com/pinkpixel-dev/mem0-mcp cd mem0-mcp npm install

Erstellen Sie den Server:

npm run build

Für die Entwicklung mit automatischem Neuaufbau bei Dateiänderungen:

npm run watch

Debuggen 🐞

Da MCP-Server über Standarddio kommunizieren, kann das Debuggen eine Herausforderung darstellen. Hier sind einige Ansätze:

  1. Verwenden Sie den MCP Inspector : Dieses Tool kann die MCP-Protokollkommunikation überwachen:
npm run inspector
  1. Konsolenprotokollierung : Verwenden Sie beim Hinzufügen von Konsolenprotokollen immer console.error() anstelle von console.log() um Störungen des MCP-Protokolls zu vermeiden
  2. Umgebungsdateien : Verwenden Sie eine .env Datei für die lokale Entwicklung, um das Festlegen von API-Schlüsseln und anderen Konfigurationsoptionen zu vereinfachen

Hinweise zur technischen Implementierung 🔧

Erweiterte Mem0-API-Parameter

Wenn Sie den Cloud-Speichermodus mit der Mem0-API verwenden, können Sie zusätzliche Parameter für eine anspruchsvollere Speicherverwaltung nutzen. Obwohl sie im Toolschema nicht explizit angezeigt werden, können diese beim Hinzufügen von Speichern in das metadata aufgenommen werden:

Erweiterte Parameter für add_memory :
ParameterTypBeschreibung
metadataObjektSpeichern Sie zusätzlichen Kontext zum Speicher (z. B. Ort, Zeit, Kennungen). Dies kann zum Filtern beim Abrufen verwendet werden.
includesSchnurSpezifische Präferenzen, die in den Speicher aufgenommen werden sollen.
excludesSchnurBestimmte Einstellungen, die aus dem Speicher ausgeschlossen werden sollen.
inferBoolescher WertOb Erinnerungen abgeleitet oder Nachrichten direkt gespeichert werden sollen (Standard: true).
output_formatSchnurFormatversion, entweder v1.0 (Standard, veraltet) oder v1.1 (empfohlen).
custom_categoriesObjektListe der Kategorien mit Namen und Beschreibungen.
custom_instructionsSchnurProjektspezifische Richtlinien zum Umgang mit und zur Organisation von Erinnerungen.
immutableBoolescher WertOb der Speicher unveränderlich ist (Standard: false).
expiration_dateSchnurWann der Speicher abläuft (Format: JJJJ-MM-TT).
org_idSchnurMit diesem Speicher verknüpfte Organisations-ID.
project_idSchnurMit diesem Speicher verknüpfte Projekt-ID.
versionSchnurSpeicherversion (v1 ist veraltet, v2 wird für neue Anwendungen empfohlen).

Um diese Parameter mit dem MCP-Server zu verwenden, fügen Sie sie beim Aufruf des Tools add_memory in Ihr Metadatenobjekt ein. Beispiel:

{ "content": "Important information to remember", "userId": "user123", "sessionId": "project-abc", "metadata": { "includes": "important context", "excludes": "sensitive data", "immutable": true, "expiration_date": "2025-12-31", "custom_instructions": "Prioritize this memory for financial questions", "version": "v2" } }
Erweiterte Parameter für search_memory :

Die Mem0 v2-Such-API bietet leistungsstarke Filterfunktionen, die über den filters genutzt werden können:

ParameterTypBeschreibung
filtersObjektKomplexe Filter mit logischen Operatoren und Vergleichsbedingungen
top_kganze ZahlAnzahl der zurückzugebenden Top-Ergebnisse (Standard: 10)
fieldsZeichenfolge[]Spezifische Felder, die in die Antwort aufgenommen werden sollen
rerankBoolescher WertOb die Erinnerungen neu eingestuft werden sollen (Standard: „false“)
keyword_searchBoolescher WertOb auf Grundlage von Schlüsselwörtern gesucht werden soll (Standard: false)
filter_memoriesBoolescher WertOb die Erinnerungen gefiltert werden sollen (Standard: false)
thresholdNummerMinimaler Ähnlichkeitsschwellenwert für Ergebnisse (Standard: 0,3)
org_idSchnurOrganisations-ID zum Filtern von Erinnerungen
project_idSchnurProjekt-ID zum Filtern von Erinnerungen

Der filters unterstützt komplexe logische Operationen (AND, OR) und verschiedene Vergleichsoperatoren:

OperatorBeschreibung
inEntspricht einem der angegebenen Werte
gteGrößer als oder gleich
lteKleiner oder gleich
gtGrößer als
ltWeniger als
neUngleich
icontainsGroß- und Kleinschreibung ignorierende Eingrenzungsprüfung

Beispiel für die Verwendung komplexer Filter mit dem Tool search_memory :

{ "query": "What are Alice's hobbies?", "userId": "user123", "filters": { "AND": [ { "user_id": "alice" }, { "agent_id": {"in": ["travel-agent", "sports-agent"]} } ] }, "threshold": 0.5, "top_k": 5 }

Dies würde nach Erinnerungen suchen, die mit Alices Hobbys in Zusammenhang stehen, wobei die Benutzer-ID „Alice“ UND die Agenten-ID entweder „Reisebüro“ ODER „Sportbüro“ ist. Dabei würden höchstens 5 Ergebnisse mit einem Ähnlichkeitswert von mindestens 0,5 zurückgegeben.

Ausführlichere Informationen zu diesen Parametern finden Sie in der Mem0-API-Dokumentation .

SafeLogger

Der MCP-Server implementiert eine SafeLogger -Klasse, die Console.log-Aufrufe aus der Mem0ai-Bibliothek selektiv an stderr umleitet, ohne das MCP-Protokoll zu unterbrechen:

  • Fängt console.log-Aufrufe ab und untersucht Stacktraces, um die Quelle zu bestimmen
  • Leitet nur Protokollaufrufe aus der mem0ai-Bibliothek oder unserem eigenen Code um
  • Bewahrt eine saubere Standardausgabe für die MCP-Protokollkommunikation
  • Bereinigt Ressourcen automatisch beim Beenden des Prozesses

Dies ermöglicht eine ordnungsgemäße Funktion innerhalb von MCP-Clients, während nützliche Debuginformationen erhalten bleiben.

Umgebungsvariablen

Der Server erkennt mehrere Umgebungsvariablen, die sein Verhalten steuern:

  • MEM0_API_KEY : API-Schlüssel für den Cloud-Speichermodus
  • OPENAI_API_KEY : API-Schlüssel für den lokalen Speichermodus (Einbettungen)
  • DEFAULT_USER_ID : Standard-Benutzer-ID für Speicheroperationen
  • ORG_ID / YOUR_ORG_ID : Standard-Organisations-ID für den Cloud-Speichermodus
  • PROJECT_ID / YOUR_PROJECT_ID : Standard-Projekt-ID für den Cloud-Speichermodus

Wichtige Hinweise:

  • Sitzungs-IDs werden als Tool-Parameter übergeben (z. B. "sessionId": "my-session" ), nicht als Umgebungsvariablen
  • Bei der Verwendung der Tools haben direkt bereitgestellte Parameter (z. B. orgId , projectId , sessionId ) Vorrang vor Umgebungsvariablen, was Ihnen maximale Flexibilität bietet

Hergestellt mit ❤️ von Pink Pixel

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ein flexibles Speichersystem für KI-Anwendungen, das mehrere LLM-Anbieter unterstützt und entweder als MCP-Server oder als direkte Bibliotheksintegration verwendet werden kann, wodurch eine autonome Speicherverwaltung ohne explizite Befehle ermöglicht wird.

  1. Funktionen 🧠
    1. Werkzeuge
  2. Voraussetzungen 🔑
    1. Installation & Konfiguration ⚙️
      1. Globale Installation (Empfohlen für häufigen Gebrauch)
      2. Verwenden von npx (Empfohlen für gelegentliche Verwendung)
      3. Ausführen aus einem geklonten Repository
      4. Standard-Benutzer-ID (optionaler Fallback)
    2. Cloud vs. lokaler Speicher 🔄
      1. Cloud-Speicher (Mem0 API)
      2. Lokaler Speicher (OpenAI API)
    3. Entwicklung 💻
      1. Debuggen 🐞
        1. Hinweise zur technischen Implementierung 🔧
          1. Erweiterte Mem0-API-Parameter
          2. SafeLogger
          3. Umgebungsvariablen

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          An MCP server that allows Claude and other LLMs to manage persistent memories across conversations through text file storage, enabling commands to add, search, delete and list memory entries.
          Last updated -
          2
          TypeScript
        • -
          security
          A
          license
          -
          quality
          An MCP server that provides persistent memory capabilities for Claude, offering tiered memory architecture with semantic search, memory consolidation, and integration with the Claude desktop application.
          Last updated -
          5
          Python
          MIT License
        • -
          security
          A
          license
          -
          quality
          An MCP-native server that enables intelligent task delegation from advanced AI agents like Claude to more cost-effective LLMs, optimizing for cost while maintaining output quality.
          Last updated -
          74
          Python
          MIT License
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that provides AI agents with persistent memory capabilities through Mem0, allowing them to store, retrieve, and semantically search memories.
          Last updated -
          2
          Python
          MIT License

        View all related MCP servers

        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/pinkpixel-dev/mem0-mcp'

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