mcp-knowledge-graph

mcp-knowledge-graph

Knowledge Graph Memory Server

Eine verbesserte Implementierung des persistenten Speichers mithilfe eines lokalen Wissensgraphen mit einem anpassbaren --memory-path .

Dadurch können sich KI-Modelle Informationen über den Benutzer über Chats hinweg merken. Es funktioniert mit jedem KI-Modell, das das Model Context Protocol (MCP) oder Funktionsaufruffunktionen unterstützt.

[!NOTE] Dies ist ein Fork des ursprünglichen Memory Servers und soll nicht die flüchtige Speicher-npx-Installationsmethode verwenden.

Servername

mcp-knowledge-graph

Kernkonzepte

Entitäten

Entitäten sind die primären Knoten im Wissensgraphen. Jede Entität verfügt über:

  • Ein eindeutiger Name (Kennung)
  • Ein Entitätstyp (z. B. „Person“, „Organisation“, „Ereignis“)
  • Eine Liste von Beobachtungen

Beispiel:

{ "name": "John_Smith", "entityType": "person", "observations": ["Speaks fluent Spanish"] }

Beziehungen

Relationen definieren gerichtete Verbindungen zwischen Entitäten. Sie werden immer im Aktiv ausgedrückt und beschreiben, wie Entitäten miteinander interagieren oder in Beziehung zueinander stehen.

Beispiel:

{ "from": "John_Smith", "to": "ExampleCorp", "relationType": "works_at" }

Beobachtungen

Beobachtungen sind diskrete Informationen über eine Entität. Sie sind:

  • Als Zeichenfolgen gespeichert
  • An bestimmte Entitäten angehängt
  • Kann unabhängig hinzugefügt oder entfernt werden
  • Sollte atomar sein (eine Tatsache pro Beobachtung)

Beispiel:

{ "entityName": "John_Smith", "observations": [ "Speaks fluent Spanish", "Graduated in 2019", "Prefers morning meetings" ] }

API

Werkzeuge

  • Entitäten erstellen
    • Erstellen Sie mehrere neue Entitäten im Wissensgraphen
    • Eingabe: entities (Array von Objekten)
      • Jedes Objekt enthält:
        • name (Zeichenfolge): Entitätskennung
        • entityType (Zeichenfolge): Typklassifizierung
        • observations (Zeichenfolge[]): Zugehörige Beobachtungen
    • Ignoriert Entitäten mit vorhandenen Namen
  • Beziehungen erstellen
    • Erstellen Sie mehrere neue Beziehungen zwischen Entitäten
    • Eingabe: relations (Array von Objekten)
      • Jedes Objekt enthält:
        • from (Zeichenfolge): Name der Quell-Entität
        • to (Zeichenfolge): Name der Zielentität
        • relationType (Zeichenfolge): Beziehungstyp im Aktiv
    • Überspringt doppelte Beziehungen
  • Beobachtungen hinzufügen
    • Hinzufügen neuer Beobachtungen zu vorhandenen Entitäten
    • Eingabe: observations (Array von Objekten)
      • Jedes Objekt enthält:
        • entityName (Zeichenfolge): Zielentität
        • contents (Zeichenfolge[]): Neue hinzuzufügende Beobachtungen
    • Gibt hinzugefügte Beobachtungen pro Entität zurück
    • Schlägt fehl, wenn die Entität nicht existiert
  • Entitäten löschen
    • Entfernen von Entitäten und ihren Beziehungen
    • Eingabe: entityNames (string[])
    • Kaskadierendes Löschen von zugehörigen Relationen
    • Stiller Vorgang, wenn die Entität nicht existiert
  • Beobachtungen löschen
    • Entfernen Sie bestimmte Beobachtungen von Entitäten
    • Eingabe: deletions (Array von Objekten)
      • Jedes Objekt enthält:
        • entityName (Zeichenfolge): Zielentität
        • observations (Zeichenfolge[]): Zu entfernende Beobachtungen
    • Leiser Betrieb, wenn keine Beobachtung vorhanden ist
  • delete_relations
    • Entfernen Sie bestimmte Beziehungen aus dem Diagramm
    • Eingabe: relations (Array von Objekten)
      • Jedes Objekt enthält:
        • from (Zeichenfolge): Name der Quell-Entität
        • to (Zeichenfolge): Name der Zielentität
        • relationType (Zeichenfolge): Beziehungstyp
    • Stiller Vorgang, wenn keine Beziehung besteht
  • Diagramm lesen
    • Lesen Sie den gesamten Wissensgraphen
    • Keine Eingabe erforderlich
    • Gibt die vollständige Graphstruktur mit allen Entitäten und Beziehungen zurück
  • Suchknoten
    • Suche nach Knoten basierend auf der Abfrage
    • Eingabe: query (Zeichenfolge)
    • Sucht in:
      • Entitätsnamen
      • Entitätstypen
      • Beobachtungsinhalt
    • Gibt übereinstimmende Entitäten und ihre Beziehungen zurück
  • offene_Knoten
    • Abrufen bestimmter Knoten nach Namen
    • Eingabe: names (Zeichenfolge[])
    • Widerrufsfolgen:
      • Angeforderte Entitäten
      • Beziehungen zwischen angefragten Entitäten
    • Überspringt stillschweigend nicht vorhandene Knoten

Verwendung mit MCP-kompatiblen Plattformen

Dieser Server kann mit jeder KI-Plattform verwendet werden, die das Model Context Protocol (MCP) oder Funktionsaufruffunktionen unterstützt, darunter Claude, GPT, Llama und andere.

Einrichtung mit Claude Desktop

Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:

{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "mcp-knowledge-graph", "--memory-path", "/Users/shaneholloman/Dropbox/shane/db/memory.jsonl" ], "autoapprove": [ "create_entities", "create_relations", "add_observations", "delete_entities", "delete_observations", "delete_relations", "read_graph", "search_nodes", "open_nodes" ] }, } }

Einrichtung mit anderen KI-Plattformen

Jede KI-Plattform, die Funktionsaufrufe oder den MCP-Standard unterstützt, kann sich mit diesem Server verbinden. Die spezifische Konfiguration hängt von der Plattform ab, der Server stellt jedoch Standardtools über die MCP-Schnittstelle bereit.

Benutzerdefinierter Speicherpfad

Sie können einen benutzerdefinierten Pfad für die Speicherdatei angeben:

{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "mcp-knowledge-graph", "--memory-path", "/Users/shaneholloman/Dropbox/shane/db/memory.jsonl" ], "autoapprove": [ "create_entities", "create_relations", "add_observations", "delete_entities", "delete_observations", "delete_relations", "read_graph", "search_nodes", "open_nodes" ] }, } }

Wenn kein Pfad angegeben ist, wird standardmäßig memory.jsonl im Installationsverzeichnis des Servers verwendet.

Systemaufforderung

Die Eingabeaufforderung zur Speichernutzung hängt vom Anwendungsfall und dem verwendeten KI-Modell ab. Durch Ändern der Eingabeaufforderung kann das Modell die Häufigkeit und Art der erstellten Speicher bestimmen.

Hier ist ein Beispiel für eine Chat-Personalisierungsaufforderung, die für jedes KI-Modell angepasst werden kann. Claude-Nutzer können diese Aufforderung im Feld „Benutzerdefinierte Anweisungen“ eines Claude.ai-Projekts verwenden. Für andere Modelle passen Sie sie an die jeweiligen Anweisungsformate an.

Follow these steps for each interaction: 1. User Identification: - You should assume that you are interacting with default_user - If you have not identified default_user, proactively try to do so. 2. Memory Retrieval: - Always begin your chat by saying only "Remembering..." and retrieve all relevant information from your knowledge graph - Always refer to your knowledge graph as your "memory" 3. Memory Gathering: - While conversing with the user, be attentive to any new information that falls into these categories: a) Basic Identity (age, gender, location, job title, education level, etc.) b) Behaviors (interests, habits, etc.) c) Preferences (communication style, preferred language, etc.) d) Goals (goals, targets, aspirations, etc.) e) Relationships (personal and professional relationships up to 3 degrees of separation) 4. Memory Update: - If any new information was gathered during the interaction, update your memory as follows: a) Create entities for recurring organizations, people, and significant events b) Connect them to the current entities using relations c) Store facts about them as observations

Integration mit anderen KI-Modellen

Dieser Server implementiert den Model Context Protocol (MCP)-Standard und ist daher mit jedem KI-Modell kompatibel, das Funktionsaufrufe unterstützt. Die Wissensgraphstruktur und die API sind modellunabhängig und ermöglichen eine flexible Integration in verschiedene KI-Plattformen.

So integrieren Sie es mit anderen Modellen:

  1. Konfigurieren Sie das Modell für den Zugriff auf den MCP-Server
  2. Stellen Sie sicher, dass das Modell Funktionsaufrufe an die bereitgestellten Tools durchführen kann
  3. Passen Sie die Systemeingabeaufforderung an das Anweisungsformat des jeweiligen Modells an
  4. Verwenden Sie unabhängig vom Modell dieselben Wissensgraph-Operationen

Lizenz

Dieser MCP-Server ist unter der MIT-Lizenz lizenziert. Das bedeutet, dass Sie die Software unter den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten dürfen. Weitere Informationen finden Sie in der LICENSE-Datei im Projekt-Repository.

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.

Eine verbesserte Implementierung von persistentem Speicher mithilfe eines lokalen Wissensgraphen mit einem anpassbaren --memory-path. Dadurch kann Claude Informationen über den Benutzer über Chats hinweg speichern.

  1. Servername
    1. Kernkonzepte
      1. Entitäten
      2. Beziehungen
      3. Beobachtungen
    2. API
      1. Werkzeuge
    3. Verwendung mit MCP-kompatiblen Plattformen
      1. Einrichtung mit Claude Desktop
      2. Einrichtung mit anderen KI-Plattformen
      3. Benutzerdefinierter Speicherpfad
      4. Systemaufforderung
    4. Integration mit anderen KI-Modellen
      1. Lizenz

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          A basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.
          Last updated -
          9
          14,698
          45,877
          JavaScript
          MIT License
          • Apple
          • Linux
        • A
          security
          F
          license
          A
          quality
          This MCP server provides persistent memory integration for chat applications by utilizing a local knowledge graph to remember user information across interactions.
          Last updated -
          9
          14,698
          1
          JavaScript
        • A
          security
          A
          license
          A
          quality
          Enhances user interaction through a persistent memory system that remembers information across chats and learns from past errors by utilizing a local knowledge graph and lesson management.
          Last updated -
          13
          14,698
          34
          JavaScript
          MIT License
        • A
          security
          A
          license
          A
          quality
          A memory server for Claude that stores and retrieves knowledge graph data in DuckDB, enhancing performance and query capabilities for conversations with persistent user information.
          Last updated -
          8
          30
          32
          TypeScript
          MIT License
          • Apple

        View all related MCP servers

        ID: zn6gf7sxjs