Un CRM personal para cuidar tus relaciones
Autoalojado. Personas, fechas importantes y recordatorios, con notas y adjuntos cifrados.

La app, tal como es
Capturas reales de la aplicación con datos de demostración.
Elige un fotograma o usa las teclas 1 a 5.





Instalación
Necesitas Docker con Compose v2 y Python 3 (solo para generar los secretos).
Levantamiento rápido
Clona y genera los secretos
El script crea .env.docker con la clave de Django, la clave de cifrado y la contraseña de Postgres.
Levanta el stack
Docker Compose construye y arranca la base de datos, el backend, el frontend y el proxy.
Abre la app
Entra a 127.0.0.1:8080 y crea tu cuenta en /register/. El registro se cierra después del primer usuario.
git clone https://github.com/chaska-dev/SimpleCRM.gitcd SimpleCRMpython scripts/generate-secrets.pydocker compose --env-file .env.docker up -d --buildLuego abre http://127.0.0.1:8080 y crea la primera cuenta en /register/.
Guarda una copia de FIELD_ENCRYPTION_KEYS fuera del servidor: si la pierdes, las notas y los adjuntos cifrados no se pueden recuperar. En Linux o macOS el script puede llamarse python3.
Qué incluye
Personas y contactos
Una ficha por persona con varios canales, tags, favoritos, cadencia de contacto y un registro de interacciones.
Cumpleaños y fechas
Fechas anuales con la edad calculada y una vista de las próximas.
Recordatorios y tablero
Estados (pendiente, en curso, hecho), recurrencia y una vista de tablero además de la lista.
Instituciones
Universidades, empresas y otras organizaciones, con logo y membresías de cada persona.
Notas y adjuntos cifrados
Cifrado Fernet en reposo. La clave vive en tu .env.docker, no en la base de datos.
Importar y exportar
vCard (.vcf) y CSV de Google Contacts, con detección de duplicados.
Agentes de IA por MCP
Claude Code, Claude Desktop, Cursor o VS Code leen y crean datos con un token revocable.
Español e inglés, temas y acento
Interfaz en español e inglés, tema claro y oscuro, y el color de acento que prefieras.
Conecta un agente de IA
El servidor MCP es opcional y viene apagado. Lo activas desde la app y revocas el acceso cuando quieras.
Actívalo
En Ajustes > Integraciones, enciende “Permitir acceso de agentes de IA (MCP)”.
Copia URL y token
En Conexión copia la URL del servidor y el token. Si no hay token, pulsa “Generar token”; “Probar conexión” lo verifica.
Pega el bloque
En Configura tu cliente elige Claude Code, Claude Desktop, Cursor o VS Code y pega el bloque, que ya lleva tu URL y tu token.
Así se ve el bloque de cada cliente
claude mcp add --transport http simple-crm http://127.0.0.1:8080/mcp/ --header "Authorization: Bearer <TOKEN>"{
"mcpServers": {
"simple-crm": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://127.0.0.1:8080/mcp/", "--header", "Authorization:Bearer <TOKEN>"]
}
}
}{
"mcpServers": {
"simple-crm": {
"url": "http://127.0.0.1:8080/mcp/",
"headers": { "Authorization": "Bearer <TOKEN>" }
}
}
}{
"servers": {
"simple-crm": {
"type": "http",
"url": "http://127.0.0.1:8080/mcp/",
"headers": { "Authorization": "Bearer <TOKEN>" }
}
}
}En la app ya vienen con tu URL y tu token reales; aquí <TOKEN> es un marcador. Claude Desktop necesita Node.js.
Una URL localhost solo funciona en el mismo equipo. Para conectar desde otro dispositivo, abre la app con la IP de tu red y publica el puerto (guía de configuración en el repositorio).
Importar y exportar contactos
En Ajustes > Importar y exportar. Nada se escribe hasta que revisas la vista previa.
Importar
Sube un .vcf exportado desde Android, iPhone (iCloud) o Google Contactos, o un CSV de Google Contactos. Verás los duplicados y eliges si omitirlos, completarlos o crearlos igual.
Exportar
Exporta a vCard o a CSV de Google, todos los contactos o los de un tag. Las notas solo se incluyen si lo pides, y entonces salen sin cifrar.