MCP Hub
Back to servers

Project Memory

An intelligent personal CRM that processes WhatsApp conversations to build a searchable knowledge base about contacts using diarization, transcription, and PII sanitization. It exposes MCP tools for semantic search, contact summaries, and reminder management within Claude Desktop.

glama
Updated
Dec 17, 2025

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

VariableDescripción
HUGGINGFACE_TOKENToken para pyannote (diarización)
GROQ_API_KEYAPI key de Groq (Whisper + Qwen)
GOOGLE_API_KEYAPI key de Google AI Studio (fallback)

Servicios Docker

ServicioPuertoDescripción
PostgreSQL5432Base de datos + pgvector
Redis6379Cola de mensajes
WaHA3000API WhatsApp
n8n5678Automatización

🛠️ Herramientas MCP

ToolDescripción
get_contact_summaryResumen completo de un contacto
query_conversationsBúsqueda semántica en historial
add_reminderCrear recordatorio
get_pending_remindersVer recordatorios próximos
list_contactsListar 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

Reviews

No reviews yet

Sign in to write a review