keel-core

keel-core

Local-first personal cognitive engine that provides MCP tools for managing relationships, conversations, agenda, and memory, powered by Ollama.

Category
Visit Server

README

keel-core

Motor de extensión cognitiva personal — local first, sin APIs externas.

Keel mantiene el contexto de tus relaciones (quién eres, cómo piensas, con quién hablas) y usa un LLM local vía Ollama para ayudarte a redactar respuestas fieles a tu voz, recordar acuerdos, preparar conversaciones y mantener el ritmo relacional.


Requisitos

  • Python 3.11+
  • Ollama corriendo localmente (ollama serve)
  • macOS (Linux compatible; Windows no probado)

Instalación

# Desde el repositorio local
bash install.sh

# Primera vez que uses búsqueda semántica, fastembed descarga ~90MB
keel buscar "prueba"

El instalador crea el entorno virtual, enlaza el binario en ~/.local/bin/keel y ejecuta keel init.

Para desinstalar (preserva tus datos en ~/.keel/):

bash uninstall.sh

Inicio rápido

# 1. Inicializar y editar tu perfil
keel init
keel perfil editar        # abre en $EDITOR

# 2. Agregar una persona
keel persona add Carlos --rol "Director de Producto" --contexto "cofundador anterior"

# 3. Primera conversación
keel conversar "Hola, ¿cómo vas con el lanzamiento?" --persona Carlos

# 4. Ver tu agenda
keel agenda ver

# 5. Resumen del día
keel hoy

Referencia de comandos

Conversación

Comando Descripción
keel conversar "msg" --persona X Mensaje → tono → sugerencia → editor → guardado
keel clip --persona X Lee del clipboard, devuelve sugerencia al clipboard
keel respond "msg" --persona X Sugerencia directa sin flujo interactivo

Personas

keel persona add Nombre --rol "rol" --contexto "cómo os conocéis"
keel persona list
keel persona show Nombre          # vista completa con historial y promesas
keel persona editar Nombre        # abre en $EDITOR
keel persona renombrar Viejo Nuevo
keel persona eliminar Nombre
keel persona fusionar Origen Destino

Agenda y compromisos

keel agenda ver                   # todas las promesas pendientes
keel agenda ver --persona Carlos  # filtrado por persona
keel agenda add --persona X --descripcion "..." --fecha 2026-08-01
keel agenda completar --persona X --indice 0
keel agenda posponer --persona X --indice 0 --fecha 2026-09-01
keel agenda notificar             # notificaciones macOS para promesas urgentes

Memoria y búsqueda

keel remember "Acordamos entregar el prototipo en julio" --persona Carlos
keel buscar "prototipo"                        # búsqueda semántica/keyword
keel buscar "legal" --persona Ana --desde 2026-01-01
keel historial --persona Carlos --top 10
keel pregunta "¿qué acordamos sobre el proyecto?" --persona Carlos
keel pregunta "¿con quién hablé de temas legales?"   # búsqueda global
keel hoy                                       # actividad del día actual
keel hoy --fecha 2026-06-15

Notas personales

keel notas add "Decidí no renovar el contrato" --temas "legal,decisión"
keel notas ver
keel notas ver --top 20 --desde 2026-06-01
keel notas buscar "contrato"
keel notas borrar <id>

Las notas aparecen automáticamente en keel pregunta (modo global).

Síntesis y reflexión

keel sugerir                      # quién contactar hoy y por qué
keel preparar --persona Carlos    # briefing pre-conversación
keel reflexionar                  # digest semanal de relaciones
keel stats                        # panorama estadístico del grafo

Perfil

keel perfil show
keel perfil editar                # abre perfil.json en $EDITOR
keel perfil actualizar            # analiza historial y sugiere actualizaciones

Contexto para LLMs externos

keel volcar                       # dump completo para Claude.ai
keel volcar --persona Carlos      # solo una persona
keel volcar --clipboard           # copia directamente al portapapeles
keel volcar --recientes 5         # N conversaciones por persona (default: 3)
keel volcar --output contexto.md  # guarda en archivo
keel export                       # export básico de personas (sin framing LLM)
keel exportar-obsidian            # exporta a vault de Obsidian

Datos y backup

keel backup                       # ZIP de ~/.keel/ con fecha
keel backup --output ~/backups/keel.zip
keel restaurar archivo.zip
keel importar chats.txt --persona Carlos   # importa historial WhatsApp/CSV/texto
keel cifrar                       # activa cifrado AES-256-GCM (opt-in)
keel descifrar                    # desactiva cifrado

Sistema

keel status                       # estado: versión, Ollama, personas, config
keel config ver
keel config set modelo_ollama qwen2.5-coder:7b
keel config set dias_silencio 21
keel update                       # actualiza desde git

Integración con Claude Code (MCP)

# Registrar el servidor MCP
claude mcp add keel -- keel mcp

# Verificar
claude mcp list

Tools disponibles (17)

Tool Descripción
keel_get_context Contexto relacional de una persona
keel_respond Sugerencia de respuesta
keel_remember Registrar conversación o promesa
keel_list_personas Listar personas
keel_get_persona Datos completos de una persona
keel_buscar Búsqueda en historial
keel_pregunta Pregunta al LLM con historial como contexto
keel_reflexionar Digest semanal relacional
keel_aprender Sugerencias de actualización del perfil
keel_preparar Briefing pre-conversación
keel_historial Historial cronológico con filtros
keel_stats Estadísticas del grafo
keel_agenda_add Registrar promesa con fecha
keel_sugerir Sugerencias de contacto por urgencia
keel_notas_add Capturar nota personal
keel_notas_buscar Buscar en notas
keel_notas_ver Listar notas recientes

Flujos típicos

Mañana (2 min)

keel hoy          # qué pasó ayer
keel sugerir      # a quién contactar
keel agenda ver   # promesas urgentes

Antes de una reunión

keel preparar --persona Carlos
# O desde Claude Code: keel_preparar(persona="Carlos")

Después de una conversación

keel conversar "Su mensaje..." --persona Carlos
# El historial queda guardado e indexado automáticamente

Capturar una decisión propia

keel notas add "Decidimos posponer el lanzamiento a Q4" --temas "producto,decisión"
# O desde Claude Code: keel_notas_add("Decidimos posponer...")

Usar keel con Claude.ai (sin MCP)

keel volcar --clipboard
# Pega el contexto en la conversación de Claude.ai

Revisión semanal

keel reflexionar --clipboard   # genera digest y copia a portapapeles
keel stats

Estructura de datos

~/.keel/
  perfil.json          Voz, valores, contexto vital del usuario
  config.json          Preferencias (modelo, vault, umbrales)
  notas.json           Notas personales
  personas/
    carlos.json        Historial, temas, promesas por persona
    ana.json
  vectorial/           Índice LanceDB para búsqueda semántica
  .cifrado             Marker de cifrado AES-256-GCM (si activo)

Privacidad

Todo corre localmente. El LLM es Ollama en tu máquina. ~/.keel/ nunca sale de tu equipo salvo que lo copies explícitamente. Usa keel cifrar para proteger los datos en reposo con AES-256-GCM y clave en el Keychain de macOS.


Desarrollo

pip install -e ".[dev]"
make test           # pytest (excluye tests MCP lentos)
make test-all       # incluye tests MCP (~5 min)
make lint           # ruff

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured