Knowledge Graph Memory Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Implements persistent memory storage using a local knowledge graph to maintain information across different chat sessions, with capabilities for creating, retrieving, and manipulating structured memory data.

bifurcado https://github.com/modelcontextprotocol/servers/tree/main

Servidor de memoria de gráficos de conocimiento

Una implementación básica de memoria persistente mediante un grafo de conocimiento local. Esto permite a Claude recordar información sobre el usuario en todos los chats.

Conceptos básicos

Entidades

Las entidades son los nodos principales del grafo de conocimiento. Cada entidad tiene:

  • Un nombre único (identificador)
  • Un tipo de entidad (por ejemplo, "persona", "organización", "evento")
  • Una lista de observaciones

Ejemplo:

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

Relaciones

Las relaciones definen conexiones dirigidas entre entidades. Siempre se almacenan en voz activa y describen cómo las entidades interactúan o se relacionan entre sí.

Ejemplo:

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

Observaciones

Las observaciones son fragmentos discretos de información sobre una entidad. Son:

  • Almacenados como cadenas
  • Adjunto a entidades específicas
  • Se puede agregar o quitar de forma independiente.
  • Debe ser atómico (un hecho por observación)

Ejemplo:

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

API

Herramientas

  • crear_entidades
    • Crear múltiples entidades nuevas en el gráfico de conocimiento
    • Entrada: entities (matriz de objetos)
      • Cada objeto contiene:
        • name (cadena): identificador de entidad
        • entityType (cadena): clasificación de tipos
        • observations (string[]): Observaciones asociadas
    • Ignora entidades con nombres existentes
  • crear_relaciones
    • Crear múltiples relaciones nuevas entre entidades
    • Entrada: relations (matriz de objetos)
      • Cada objeto contiene:
        • from (string): Nombre de la entidad de origen
        • to (cadena): nombre de la entidad de destino
        • relationType (cadena): Tipo de relación en voz activa
    • Omite relaciones duplicadas
  • añadir_observaciones
    • Agregar nuevas observaciones a entidades existentes
    • Entrada: observations (matriz de objetos)
      • Cada objeto contiene:
        • entityName (cadena): entidad de destino
        • contents (string[]): Nuevas observaciones para agregar
    • Devuelve observaciones agregadas por entidad
    • Falla si la entidad no existe
  • eliminar_entidades
    • Eliminar entidades y sus relaciones
    • Entrada: entityNames (cadena[])
    • Eliminación en cascada de relaciones asociadas
    • Operación silenciosa si la entidad no existe
  • eliminar_observaciones
    • Eliminar observaciones específicas de las entidades
    • Entrada: deletions (matriz de objetos)
      • Cada objeto contiene:
        • entityName (cadena): entidad de destino
        • observations (string[]): Observaciones para eliminar
    • Funcionamiento silencioso si no existe observación
  • eliminar_relaciones
    • Eliminar relaciones específicas del gráfico
    • Entrada: relations (matriz de objetos)
      • Cada objeto contiene:
        • from (string): Nombre de la entidad de origen
        • to (cadena): nombre de la entidad de destino
        • relationType (cadena): tipo de relación
    • Operación silenciosa si no existe relación
  • leer_gráfico
    • Lea el gráfico de conocimiento completo
    • No se requiere entrada
    • Devuelve la estructura gráfica completa con todas las entidades y relaciones
  • nodos de búsqueda
    • Busque nodos en función de una o más palabras clave
    • Entrada: query (cadena)
      • Palabras clave separadas por espacios (por ejemplo, "utilidad presupuestaria")
      • Varias palabras clave se tratan como condiciones OR
    • Búsquedas en:
      • Nombres de entidades
      • Tipos de entidad
      • Subdominios
      • Contenido de la observación
    • Comportamiento de coincidencia:
      • No distingue entre mayúsculas y minúsculas
      • Coincidencia parcial de palabras
      • Cualquier palabra clave puede coincidir con cualquier campo
      • Devuelve entidades que coinciden con CUALQUIERA de las palabras clave
    • Devuelve entidades coincidentes y sus relaciones.
    • Consultas de ejemplo:
      • Palabra clave única: "presupuesto"
      • Varias palabras clave: "utilidad presupuestaria"
      • Con caracteres especiales: "presupuesto y utilidad"
  • nodos abiertos
    • Recuperar nodos específicos por nombre
    • Entrada: names (cadena[])
    • Devoluciones:
      • Entidades solicitadas
      • Relaciones entre las entidades solicitadas
    • Omite silenciosamente nodos inexistentes

Uso con Claude Desktop

Configuración

Agregue esto a su claude_desktop_config.json:

Estibador

{ "mcpServers": { "memory": { "command": "docker", "args": ["run", "-i", "--rm", "mcp/memory"] } } }

NPX

{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory" ] } } }

NPX con configuración personalizada

El servidor se puede configurar utilizando las siguientes variables de entorno:

{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory" ], "env": { "MEMORY_FILE_PATH": "/path/to/custom/memory.json" } } } }
  • MEMORY_FILE_PATH : Ruta al archivo JSON de almacenamiento de memoria (predeterminado: memory.json en el directorio del servidor)

Indicador del sistema

El indicador para utilizar la memoria depende del caso de uso. Cambiarlo ayudará al modelo a determinar la frecuencia y los tipos de memorias creadas.

Aquí tienes un ejemplo de mensaje para personalizar el chat. Puedes usarlo en el campo "Instrucciones personalizadas" de un proyecto de Claude.ai .

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" - When searching your memory, you can use multiple keywords to find related information - Example searches: * Single concept: "programming" * Related concepts: "programming python" * Specific domain with role: "work engineer" 3. Memory Creation: - 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) - When storing information, use specific and descriptive keywords that will help in future searches 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 d) Use clear and searchable terms in entity names and observations to facilitate future retrieval

Edificio

Estibador:

docker build -t mcp/memory -f src/memory/Dockerfile .

Licencia

Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Este servidor MCP proporciona integración de memoria persistente para aplicaciones de chat mediante el uso de un gráfico de conocimiento local para recordar la información del usuario en las interacciones.

  1. Core Concepts
    1. Entities
    2. Relations
    3. Observations
  2. API
    1. Tools
  3. Usage with Claude Desktop
    1. Setup
    2. System Prompt
    3. Building
    4. License
ID: mdsegdy7ox