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"
]
}Related MCP server: Knowledge Graph Memory Server
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 entidadentityType(cadena): clasificación de tiposobservations(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 origento(cadena): nombre de la entidad de destinorelationType(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 destinocontents(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 destinoobservations(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 origento(cadena): nombre de la entidad de destinorelationType(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
Búsqueda de nodos según la consulta
Entrada:
query(cadena)Búsquedas en:
Nombres de entidades
Tipos de entidad
Contenido de la observación
Devuelve entidades coincidentes y sus relaciones.
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", "-v", "claude-memory:/app/dist", "--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.jsonen el directorio del servidor)
Instrucciones de instalación de VS Code
Para una instalación rápida, utilice uno de los botones de instalación de un solo clic que aparecen a continuación:
Para la instalación manual, agregue el siguiente bloque JSON a su archivo de configuración de usuario (JSON) en VS Code. Para ello, presione Ctrl + Shift + P y escriba Preferences: Open Settings (JSON) .
Opcionalmente, puede agregarlo a un archivo llamado .vscode/mcp.json en su espacio de trabajo. Esto le permitirá compartir la configuración con otros.
Tenga en cuenta que la clave
mcpno es necesaria en el archivo.vscode/mcp.json.
NPX
{
"mcp": {
"servers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}
}Estibador
{
"mcp": {
"servers": {
"memory": {
"command": "docker",
"args": [
"run",
"-i",
"-v",
"claude-memory:/app/dist",
"--rm",
"mcp/memory"
]
}
}
}
}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"
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
b) Store facts about them as observationsEdificio
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.