Skip to main content
Glama

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

HUGGINGFACE_TOKEN

Token para pyannote (diarización)

GROQ_API_KEY

API key de Groq (Whisper + Qwen)

GOOGLE_API_KEY

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

get_contact_summary

Resumen completo de un contacto

query_conversations

Búsqueda semántica en historial

add_reminder

Crear recordatorio

get_pending_reminders

Ver recordatorios próximos

list_contacts

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

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crtormo/project-memory'

If you have feedback or need assistance with the MCP directory API, please join our Discord server