MCP Memory Server
Un sistema de memoria avanzado para Claude Desktop que proporciona memoria persistente mediante MCP. Requiere una cuenta de Azure Cosmos DB y una clave de API de OpenAI.
Documentación
🧠 MCP Memory Server
Sistema de Memoria Avanzado para Claude Desktop - Transforma a Claude en un asistente de IA con memoria fotográfica usando MCP (Model Context Protocol).
✨ Qué hace
Imagina a Claude con memoria persistente que:
- 🧠 Recuerda todo de tus conversaciones
- 🔍 Recupera contexto automáticamente cuando mencionas temas pasados
- 🤖 Entiende referencias como "ese proyecto", "esta empresa", "él/ella"
- 📈 Construye conocimiento con el tiempo en todas tus sesiones
- 🛠️ Captura automáticamente resultados de búsquedas web y otras herramientas
🚀 Inicio Rápido
Requisitos previos
- Node.js 18+
- Cuenta de Azure Cosmos DB
- Clave de API de OpenAI
- Claude Desktop
Instalación
git clone https://github.com/PlumyCat/mcp-memory-server.git
cd mcp-memory-server
npm install
npm run build
Configuración
- Configuración del entorno:
cp .env.example .env
# Edit .env with your API keys
- Configuración de Claude Desktop:
{
"mcpServers": {
"memory": {
"command": "node",
"args": ["/path/to/mcp-memory-server/dist/index.js"],
"cwd": "/path/to/mcp-memory-server"
}
}
}
- Prueba la magia:
You: "I'm working on a TypeScript project using CosmosDB"
Claude: [Responds normally + automatic background storage]
# Later...
You: "What was that project we discussed?"
Claude: "You mentioned working on a TypeScript project using CosmosDB..."
🎯 Características Clave
🧠 Almacenamiento de Memoria Inteligente
- Extracción automática de entidades (personas, empresas, proyectos, herramientas)
- Almacenamiento semántico con embeddings de OpenAI
- Preservación del contexto de conversación
- Deduplicación inteligente
🔍 Búsqueda y Recuperación Avanzada
- Búsqueda por similitud semántica
- Mapeo de relaciones entre entidades
- Recuperación basada en línea de tiempo
- Respuestas conscientes del contexto
🤖 Resolución de Entidades
- Resolución automática de pronombres ("él" → "John Smith")
- Comprensión de referencias ("esa empresa" → "Microsoft")
- Vinculación de entidades entre conversaciones
- Puntuación de confianza
📊 Analítica e Información
- Análisis de patrones de conversación
- Líneas de tiempo de interacción entre entidades
- Seguimiento del crecimiento del conocimiento
- Estadísticas de uso
🛠️ Herramientas Disponibles
El servidor proporciona 6 herramientas MCP para Claude:
| Herramienta | Descripción | Ejemplo de Uso |
|---|---|---|
memory_store | Almacena información con extracción automática de entidades | Se activa automáticamente durante conversaciones |
memory_search | Búsqueda semántica en memorias almacenadas | "Encuentra todas las discusiones sobre React" |
context_inject | Obtén contexto relevante para la consulta actual | "¿Qué discutimos sobre este proyecto?" |
entity_resolve | Resuelve referencias a entidades reales | "¿A quién se refiere 'él'?" |
conversation_analyze | Analiza patrones de conversación | "Muestra mis estadísticas de discusión" |
memory_timeline | Obtén línea de tiempo de interacciones con entidades | "Línea de tiempo de menciones de Microsoft" |
📁 Estructura del Proyecto
mcp-memory-server/
├── src/
│ ├── config/ # Azure Cosmos DB configuration
│ ├── memory/ # Core memory system (RAG, storage, graph)
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Entity extraction, context injection
│ └── server.ts # Main MCP server implementation
├── scripts/ # Maintenance and health check scripts
├── tests/ # Unit and integration tests
├── docs/ # Technical documentation
└── dist/ # Compiled JavaScript (generated)
🏗️ Arquitectura
Componentes Principales
- Sistema RAG: Búsqueda de similitud vectorial con embeddings de OpenAI
- Extractor de Entidades: Reconocimiento de entidades basado en NLP con patrones personalizados
- Almacenamiento de Memoria: Integración optimizada con CosmosDB e indexación inteligente
- Inyector de Contexto: Recuperación inteligente de contexto para conversaciones
- Motor de Grafos: Mapeo y recorrido de relaciones entre entidades
Flujo de Datos
graph TD
A[User Message] --> B[Entity Extraction]
B --> C[Embedding Generation]
C --> D[CosmosDB Storage]
D --> E[Semantic Search]
E --> F[Context Injection]
F --> G[Enhanced Claude Response]
🔧 Configuración
Variables de Entorno
# Azure Cosmos DB
COSMOS_ENDPOINT=https://your-account.documents.azure.com:443/
COSMOS_KEY=your-primary-key
COSMOS_DATABASE_NAME=memory-db
COSMOS_CONTAINER_CONVERSATIONS=conversations
COSMOS_CONTAINER_ENTITIES=entities
# OpenAI
OPENAI_API_KEY=your-openai-api-key
# Optional
NODE_ENV=production
LOG_LEVEL=info
MEMORY_RETENTION_DAYS=30
Configuración Avanzada
Consulta la Guía de Configuración para opciones detalladas de configuración.
🧪 Pruebas
# Run all tests
npm test
# Health check
npm run health-check
# Test memory functionality
npm run test-memory
📊 Rendimiento
- Almacenamiento: Indexación optimizada de CosmosDB para consultas en menos de 100 ms
- Búsqueda: Similitud vectorial con precisión superior al 95%
- Memoria: Deduplicación y compresión eficiente de entidades
- Escalabilidad: Maneja más de 1000 entidades con rendimiento consistente
🛣️ Hoja de Ruta
✅ Completado
- Almacenamiento y recuperación de memoria central
- Extracción y resolución de entidades
- Búsqueda semántica con embeddings
- Integración con CosmosDB
- Implementación del servidor MCP
🔄 En Progreso
- Deduplicación inteligente de entidades
- Captura automática de todos los resultados de herramientas MCP
- Patrones mejorados de clasificación de entidades
- Sistema de detección de contradicciones
🔮 Planificado
- Aislamiento de memoria para múltiples usuarios
- Recorrido de grafos con consultas Gremlin
- Panel de analítica avanzada
- Compresión y archivado de memoria
Consulta la Hoja de Ruta para la planificación detallada de funciones.
🤝 Contribuciones
¡Damos la bienvenida a contribuciones! Consulta nuestras Pautas de Contribución para más detalles.
Configuración de Desarrollo
git clone https://github.com/PlumyCat/mcp-memory-server.git
cd mcp-memory-server
npm install
npm run dev
📚 Documentación
- Guía de Uso - Ejemplos completos de uso
- Referencia de API - Documentación detallada de la API
- Arquitectura - Detalles técnicos de la arquitectura
- Solución de Problemas - Problemas comunes y soluciones
🆘 Soporte
- 📖 Consulta la Guía de Uso para ejemplos
- 🐛 Reporta problemas en GitHub Issues
- 💬 Discute en GitHub Discussions
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
🙏 Agradecimientos
- Model Context Protocol (MCP) por el protocolo fundamental
- Claude Desktop por la plataforma de asistente de IA
- Azure Cosmos DB por el almacenamiento de datos escalable
- OpenAI por la generación de embeddings
- Compromise.js por el procesamiento de lenguaje natural
⭐ Historial de Estrellas
Hecho con ❤️ para la comunidad de Claude Desktop