Servidor de Memoria de Grafo de Conocimiento
Una implementación básica de memoria persistente utilizando un grafo de conocimiento local. Esto permite a Claude recordar información sobre el usuario a través de los chats.
Conceptos clave
Entidades
Las entidades son los nodos principales en el grafo de conocimiento. Cada entidad tiene:
Un nombre único (identificador)
Un tipo de entidad (p. ej., "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 piezas discretas de información sobre una entidad. Son:
Almacenadas como cadenas de texto
Adjuntas a entidades específicas
Pueden añadirse o eliminarse de forma independiente
Deben ser atómicas (un hecho por observación)
Ejemplo:
{
"entityName": "John_Smith",
"observations": [
"Speaks fluent Spanish",
"Graduated in 2019",
"Prefers morning meetings"
]
}Related MCP server: Knowledge Graph Memory Server
API
Herramientas
create_entities
Crea múltiples entidades nuevas en el grafo de conocimiento
Entrada:
entities(matriz de objetos)Cada objeto contiene:
name(cadena): Identificador de la entidadentityType(cadena): Clasificación del tipoobservations(cadena[]): Observaciones asociadas
Ignora las entidades con nombres existentes
create_relations
Crea múltiples relaciones nuevas entre entidades
Entrada:
relations(matriz de objetos)Cada objeto contiene:
from(cadena): Nombre de la entidad de origento(cadena): Nombre de la entidad de destinorelationType(cadena): Tipo de relación en voz activa
Omite relaciones duplicadas
add_observations
Añade nuevas observaciones a entidades existentes
Entrada:
observations(matriz de objetos)Cada objeto contiene:
entityName(cadena): Entidad de destinocontents(cadena[]): Nuevas observaciones a añadir
Devuelve las observaciones añadidas por entidad
Falla si la entidad no existe
delete_entities
Elimina entidades y sus relaciones
Entrada:
entityNames(cadena[])Eliminación en cascada de las relaciones asociadas
Operación silenciosa si la entidad no existe
delete_observations
Elimina observaciones específicas de las entidades
Entrada:
deletions(matriz de objetos)Cada objeto contiene:
entityName(cadena): Entidad de destinoobservations(cadena[]): Observaciones a eliminar
Operación silenciosa si la observación no existe
delete_relations
Elimina relaciones específicas del grafo
Entrada:
relations(matriz de objetos)Cada objeto contiene:
from(cadena): Nombre de la entidad de origento(cadena): Nombre de la entidad de destinorelationType(cadena): Tipo de relación
Operación silenciosa si la relación no existe
read_graph
Lee todo el grafo de conocimiento
No requiere entrada
Devuelve la estructura completa del grafo con todas las entidades y relaciones
search_nodes
Busca nodos basados en una consulta
Entrada:
query(cadena)Busca en:
Nombres de entidades
Tipos de entidades
Contenido de las observaciones
Devuelve las entidades coincidentes y sus relaciones
open_nodes
Recupera nodos específicos por nombre
Entrada:
names(cadena[])Devuelve:
Entidades solicitadas
Relaciones entre las entidades solicitadas
Omite silenciosamente los nodos inexistentes
Uso con Claude Desktop
Configuración
Añade esto a tu claude_desktop_config.json:
Docker
{
"mcpServers": {
"memory": {
"command": "docker",
"args": ["run", "-i", "-v", "claude-memory:/app/dist", "--rm", "mcp/memory"]
}
}
}NPX
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}En Windows, usa cmd /c para ejecutar npx:
{
"mcpServers": {
"memory": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}NPX con configuración personalizada
El servidor puede configurarse utilizando las siguientes variables de entorno:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
],
"env": {
"MEMORY_FILE_PATH": "/path/to/custom/memory.jsonl"
}
}
}
}En Windows, usa:
{
"mcpServers": {
"memory": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-memory"
],
"env": {
"MEMORY_FILE_PATH": "/path/to/custom/memory.jsonl"
}
}
}
}MEMORY_FILE_PATH: Ruta al archivo JSONL de almacenamiento de memoria (predeterminado:memory.jsonlen el directorio del servidor)
Instrucciones de instalación para VS Code
Para una instalación rápida, utiliza uno de los botones de instalación con un solo clic a continuación:
👁 Instalar con NPX en VS Code
👁 Instalar con NPX en VS Code Insiders
👁 Instalar con Docker en VS Code
👁 Instalar con Docker en VS Code Insiders
Para la instalación manual, puedes configurar el servidor MCP utilizando uno de estos métodos:
Método 1: Configuración de usuario (Recomendado)
Añade la configuración a tu archivo de configuración MCP a nivel de usuario. Abre la paleta de comandos (Ctrl + Shift + P) y ejecuta MCP: Open User Configuration. Esto abrirá tu archivo mcp.json de usuario donde puedes añadir la configuración del servidor.
Método 2: Configuración del espacio de trabajo
Alternativamente, puedes añadir la configuración a un archivo llamado .vscode/mcp.json en tu espacio de trabajo. Esto te permitirá compartir la configuración con otros.
Para más detalles sobre la configuración de MCP en VS Code, consulta la documentación oficial de MCP para VS Code.
NPX
{
"servers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}En Windows, usa:
{
"servers": {
"memory": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}Docker
{
"servers": {
"memory": {
"command": "docker",
"args": [
"run",
"-i",
"-v",
"claude-memory:/app/dist",
"--rm",
"mcp/memory"
]
}
}
}Prompt del sistema
El prompt para utilizar la memoria depende del caso de uso. Cambiar el prompt ayudará al modelo a determinar la frecuencia y los tipos de recuerdos creados.
Aquí tienes un ejemplo de prompt para la personalización del chat. Podrías usar este prompt 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"
3. Memory
- 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 observationsConstrucción
Docker:
docker build -t mcp/memory -f src/memory/Dockerfile . Para tener en cuenta: un volumen mcp/memory previo contiene un archivo index.js que podría ser sobrescrito por el nuevo contenedor. Si estás utilizando un volumen de Docker para el almacenamiento, elimina el archivo index.js del volumen antiguo antes de iniciar el nuevo contenedor.
Licencia
Este servidor MCP está bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/modelcontextprotocol/knowledge-graph-memory-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
