Skip to main content
Glama

mem0 Memory System

Mem0 Logo

npm-Version Lizenz: MIT Node.js Typoskript MCPMem0 Downloads GitHub Stars

@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 :

Parameter

Typ

Beschreibung

metadata

Objekt

Speichern Sie zusätzlichen Kontext zum Speicher (z. B. Ort, Zeit, Kennungen). Dies kann zum Filtern beim Abrufen verwendet werden.

includes

Schnur

Spezifische Präferenzen, die in den Speicher aufgenommen werden sollen.

excludes

Schnur

Bestimmte Einstellungen, die aus dem Speicher ausgeschlossen werden sollen.

infer

Boolescher Wert

Ob Erinnerungen abgeleitet oder Nachrichten direkt gespeichert werden sollen (Standard: true).

output_format

Schnur

Formatversion, entweder v1.0 (Standard, veraltet) oder v1.1 (empfohlen).

custom_categories

Objekt

Liste der Kategorien mit Namen und Beschreibungen.

custom_instructions

Schnur

Projektspezifische Richtlinien zum Umgang mit und zur Organisation von Erinnerungen.

immutable

Boolescher Wert

Ob der Speicher unveränderlich ist (Standard: false).

expiration_date

Schnur

Wann der Speicher abläuft (Format: JJJJ-MM-TT).

org_id

Schnur

Mit diesem Speicher verknüpfte Organisations-ID.

project_id

Schnur

Mit diesem Speicher verknüpfte Projekt-ID.

version

Schnur

Speicherversion (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:

Parameter

Typ

Beschreibung

filters

Objekt

Komplexe Filter mit logischen Operatoren und Vergleichsbedingungen

top_k

ganze Zahl

Anzahl der zurückzugebenden Top-Ergebnisse (Standard: 10)

fields

Zeichenfolge[]

Spezifische Felder, die in die Antwort aufgenommen werden sollen

rerank

Boolescher Wert

Ob die Erinnerungen neu eingestuft werden sollen (Standard: „false“)

keyword_search

Boolescher Wert

Ob auf Grundlage von Schlüsselwörtern gesucht werden soll (Standard: false)

filter_memories

Boolescher Wert

Ob die Erinnerungen gefiltert werden sollen (Standard: false)

threshold

Nummer

Minimaler Ähnlichkeitsschwellenwert für Ergebnisse (Standard: 0,3)

org_id

Schnur

Organisations-ID zum Filtern von Erinnerungen

project_id

Schnur

Projekt-ID zum Filtern von Erinnerungen

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

Operator

Beschreibung

in

Entspricht einem der angegebenen Werte

gte

Größer als oder gleich

lte

Kleiner oder gleich

gt

Größer als

lt

Weniger als

ne

Ungleich

icontains

Groß- 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

Deploy Server
A
security – no known vulnerabilities
-
license - not tested
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. 1. Globale Installation (Empfohlen für häufigen Gebrauch)
      2. 2. Verwenden von npx (Empfohlen für gelegentliche Verwendung)
      3. 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
          -
          license
          -
          quality
          This advanced memory server facilitates neural memory-based sequence learning and prediction, enhancing code generation and understanding through state maintenance and manifold optimization as inspired by Google Research's framework.
          Last updated -
          34
          70
          MIT License
          • Apple
          • Linux
        • A
          security
          -
          license
          A
          quality
          A lightweight MCP server that provides a unified interface to various LLM providers including OpenAI, Anthropic, Google Gemini, Groq, DeepSeek, and Ollama.
          Last updated -
          6
          654
        • A
          security
          -
          license
          A
          quality
          A persistent memory system for Large Language Models (LLMs) that enables continuous learning and knowledge retention across sessions through the Model Context Protocol (MCP).
          Last updated -
          24
          23
          2
          MIT License
        • -
          security
          -
          license
          -
          quality
          🧠 High-performance persistent memory system for Model Context Protocol (MCP) powered by libSQL. Features vector search, semantic knowledge storage, and efficient relationship management - perfect for AI agents and knowledge graph applications.
          Last updated -
          5
          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