hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
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 los chats y aprender de errores pasados mediante un sistema de lecciones.
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:
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:
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:
Lecciones
Las lecciones son entidades especiales que recopilan conocimiento sobre los errores y sus soluciones. Cada lección tiene:
- Un nombre único (identificador)
- Información del patrón de error (tipo, mensaje, contexto)
- Pasos de la solución y verificación
- Seguimiento de la tasa de éxito
- Contexto ambiental
- Metadatos (gravedad, marcas de tiempo, frecuencia)
Ejemplo:
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
- Cada objeto contiene:
- 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
- Cada objeto contiene:
- 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
- Cada objeto contiene:
- 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
- Cada objeto contiene:
- 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
- Cada objeto contiene:
- 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
Herramientas de gestión de lecciones
- crear_lección
- Crear una nueva lección a partir de un error y su solución
- Entrada:
lesson
(objeto)- Contiene:
name
(cadena): identificador únicoentityType
(cadena): Debe ser "lección"observations
(string[]): Notas sobre el error y la soluciónerrorPattern
(objeto): Detalles del errortype
(cadena): Categoría del errormessage
(cadena): Mensaje de errorcontext
(cadena): dónde ocurrió el errorstackTrace
(cadena, opcional): seguimiento de la pila
metadata
(objeto): Información adicionalseverity
("baja" | "media" | "alta" | "crítica")environment
(objeto): Detalles del sistemafrequency
(número): Veces encontradassuccessRate
(número): tasa de éxito de la solución
verificationSteps
(matriz): Verificación de la solución- Cada paso contiene:
command
(cadena): Acción a realizarexpectedOutput
(cadena): resultado esperadosuccessIndicators
(string[]): Marcadores de éxito
- Cada paso contiene:
- Contiene:
- Inicializa automáticamente las marcas de tiempo de los metadatos
- Valida todos los campos obligatorios
- encontrar_errores_similares
- Encuentre errores similares y sus soluciones
- Entrada:
errorPattern
(objeto)- Contiene:
type
(cadena): Categoría de errormessage
(cadena): Mensaje de errorcontext
(cadena): Contexto de error
- Contiene:
- Devuelve lecciones coincidentes ordenadas por tasa de éxito
- Utiliza coincidencia difusa para mensajes de error
- actualización_lección_éxito
- Actualizar el seguimiento del éxito de una lección
- Aporte:
lessonName
(cadena): Lección a actualizarsuccess
(booleano): si la solución funcionó
- Actualizaciones:
- Tasa de éxito (promedio ponderado)
- Contador de frecuencia
- Marca de tiempo de la última actualización
- obtener recomendaciones de lecciones
- Obtenga lecciones relevantes para el contexto actual
- Entrada:
context
(cadena) - Búsquedas en:
- Tipo de error
- Mensaje de error
- Contexto de error
- Observaciones de la lección
- Devuelve lecciones ordenadas por:
- Relevancia del contexto
- Tasa de éxito
- Incluye detalles completos de la solución.
Gestión de archivos
El servidor ahora maneja dos tipos de archivos:
memory.json
: almacena entidades y relaciones básicaslesson.json
: almacena entidades de lección con patrones de error
Los archivos se dividen automáticamente si superan las 1000 líneas para mantener el rendimiento.
Configuración del cliente Cursor MCP
Para integrar este servidor de memoria con el cliente Cursor MCP, siga estos pasos:
- Clonar el repositorio:
- Dependencias de instalación:
- Construir el proyecto:
- Configurar el servidor:
- Localice la ruta completa al archivo del servidor creado:
/path/to/the/dist/index.js
- Inicie el servidor usando Node.js:
node /path/to/the/dist/index.js
- Activar en Cursor:
- Utilice el atajo de teclado
Ctrl+Shift+P
- Escribe "recargar ventana" y selecciónalo
- Espere unos segundos a que se active el servidor MCP
- Seleccione el tipo de stdio cuando se le solicite
El servidor de memoria ahora debería estar integrado con su cliente Cursor MCP y listo para usar.
Uso con Claude Desktop
Configuración
Agregue esto a su claude_desktop_config.json:
Estibador
NPX
NPX con configuración personalizada
El servidor se puede configurar utilizando las siguientes variables de entorno:
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 .
Edificio
Estibador:
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.
Nuevas herramientas
- crear_lección
- Crear una nueva lección a partir de un error y su solución
- Entrada:
lesson
(objeto)- Contiene patrón de error, pasos de solución y metadatos.
- Realiza un seguimiento automático del tiempo de creación y las actualizaciones.
- Verifica que los pasos de la solución estén completos
- encontrar_errores_similares
- Encuentre errores similares y sus soluciones
- Entrada:
errorPattern
(objeto)- Contiene tipo de error, mensaje y contexto.
- Devuelve lecciones coincidentes ordenadas por tasa de éxito
- Incluye soluciones relacionadas y pasos de verificación.
- actualización_lección_éxito
- Actualizar el seguimiento del éxito de una lección
- Aporte:
lessonName
(cadena): Lección a actualizarsuccess
(booleano): si la solución funcionó
- Actualiza las métricas de frecuencia y tasa de éxito
- obtener recomendaciones de lecciones
- Obtenga lecciones relevantes para el contexto actual
- Entrada:
context
(cadena) - Devuelve lecciones ordenadas por relevancia y tasa de éxito
- Incluye detalles completos de la solución y pasos de verificación.
GRANDES CRÉDITOS AL PROPIETARIO DE ESTE REPO POR EL CÓDIGO BASE QUE MEJORÉ CON LECCIONES Y ADMINISTRACIÓN DE ARCHIVOS
¡Muchas gracias! https://github.com/modelcontextprotocol/servers jerome3o-anthropic https://github.com/modelcontextprotocol/servers/tree/main/src/memory
You must be authenticated.
Tools
Mejora la interacción del usuario a través de un sistema de memoria persistente que recuerda información en los chats y aprende de errores pasados mediante el uso de un gráfico de conocimiento local y la gestión de lecciones.
- Core Concepts
- API
- File Management
- Cursor MCP Client Setup
- Usage with Claude Desktop
- BIG CREDITS TO THE OWNER OF THIS REPO FOR THE BASE CODE I ENHANCED IT WITH LESSONS AND FILE MANAGEMENT