Processes WhatsApp conversations to build a personal CRM, providing tools for contact summarization, semantic search of chat history, and reminder management based on conversation context.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Project MemorySummarize my latest conversations with Maria"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Project Memory 🧠
CRM personal inteligente que procesa conversaciones de WhatsApp para construir conocimiento sobre tus contactos, expuesto vía Model Context Protocol (MCP).
✨ Características
Procesamiento de Audio: Diarización (pyannote) + Transcripción (Groq Whisper)
Identificación de Hablantes: Distingue tu voz de la del contacto
Privacidad: Sanitización de PII con Microsoft Presidio (RUT, teléfonos, emails)
Extracción Inteligente: Qwen 3 32B via Groq para extraer hechos, sentimientos, temas
Búsqueda Semántica: pgvector para encontrar conversaciones por contexto
MCP Server: Expone tools para usar con Claude Desktop
🏗️ Arquitectura
WhatsApp → WaHA → n8n → Redis → Worker Python → PostgreSQL
↓
Claude Desktop ← MCP Server🚀 Quick Start
# 1. Clonar
git clone https://github.com/crtormo/project-memory.git
cd project-memory
# 2. Configurar
cp .env.example .env
# Editar .env con tus API keys
# 3. Levantar
docker-compose up -d
# 4. Vincular WhatsApp
# Abrir http://localhost:3000 y escanear QR🔧 Configuración
Variables de Entorno
Variable | Descripción |
| Token para pyannote (diarización) |
| API key de Groq (Whisper + Qwen) |
| API key de Google AI Studio (fallback) |
Servicios Docker
Servicio | Puerto | Descripción |
PostgreSQL | 5432 | Base de datos + pgvector |
Redis | 6379 | Cola de mensajes |
WaHA | 3000 | API WhatsApp |
n8n | 5678 | Automatización |
🛠️ Herramientas MCP
Tool | Descripción |
| Resumen completo de un contacto |
| Búsqueda semántica en historial |
| Crear recordatorio |
| Ver recordatorios próximos |
| Listar todos los contactos |
Configurar Claude Desktop
Agregar a ~/.claude/config.json:
{
"mcpServers": {
"project-memory": {
"command": "docker",
"args": ["exec", "-i", "project-memory-mcp", "python", "-m", "src.mcp_server.server"]
}
}
}📁 Estructura
project-memory/
├── src/
│ ├── core/ # AudioProcessor, PrivacyService, Intelligence
│ ├── database/ # Models, Repositories, Connection
│ ├── services/ # BatchProcessor, MessageQueue, Notifications
│ └── mcp_server/ # Servidor MCP con tools
├── scripts/ # CLI utilities
├── docker/ # Dockerfiles
└── n8n/ # Workflows📊 Stack Tecnológico
Python 3.11 + Poetry
PostgreSQL 16 + pgvector
Redis 7 para cola de mensajes
pyannote.audio para diarización
Groq API (Whisper + Qwen 3 32B)
Microsoft Presidio para PII
MCP SDK para Model Context Protocol
📝 Scripts CLI
# Verificar BD
python scripts/init_db.py
# Registrar tu voz
python scripts/enroll_voice.py
# Exportar datos
python scripts/export_data.py contacts --format csv
# Ver recordatorios
python scripts/check_reminders.py🔒 Seguridad
Las API keys nunca se commitean (están en
.env)PII sanitizado antes de persistir
Datos almacenados localmente (Home Lab)
📄 Licencia
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.