Open-Brain
Servidor de memoria MCP que construye un grafo de conocimiento mientras capturas pensamientos. 16 herramientas. Autoalojable.
Documentación
Open Brain
Memoria MCP estructurada en grafo. 37.2% en el benchmark LongMemEval — un benchmark que la mayoría de los sistemas de memoria no publican.
Un servidor de memoria auto-alojable para clientes MCP (Claude, ChatGPT, cualquier asistente que hable MCP). Los pensamientos fluyen desde Telegram, pipelines o captura directa, y aterrizan en un grafo de entidades ponderado por Newman-IDF — no en un almacén de documentos plano. Un ciclo automatizado de Dream se ejecuta en segundo plano: deduplicando casi-duplicados, rastreando la deriva temática, sintetizando ideas entre clústeres y archivando contenido obsoleto. 17 herramientas MCP. PostgreSQL + pgvector. Tú eres dueño de tus datos.
Cómo Funciona
flowchart LR
TG[Telegram Message] --> TGBot[telegram-bot\nEdge Function]
MCP[AI Client\nClaude/ChatGPT] --> MCPServer[open-brain-mcp\nEdge Function]
Pipeline[RSS/HF Papers/\nEmergent Mind] --> RunPipeline[run-pipeline\nEdge Function]
TGBot --> OR1[OpenRouter\nEmbedding + Metadata]
MCPServer --> OR2[OpenRouter\nEmbedding + Search]
RunPipeline --> OR3[OpenRouter\nTriage + Embed]
OR1 --> DB[(Postgres\n+ pgvector)]
OR2 --> DB
OR3 --> DB
MCPServer --> DB
TGBot --> TGReply[Telegram Reply\nwith Metadata]
Ruta de Captura
Cuando envías un mensaje al bot de Telegram, la Edge Function telegram-bot lo recoge vía webhook. Envía el mensaje a OpenRouter en paralelo para dos cosas: generar un embedding vectorial (una representación numérica del significado) y extraer metadatos como temas, personas mencionadas, elementos de acción, temática, puntuación de calidad y entidades nombradas. El pensamiento se verifica para detectar duplicados semánticos, se almacena en tu base de datos con conexiones auto-enlazadas a pensamientos relacionados, y el bot responde con un resumen de lo que capturó.
Ruta de Pipeline
La Edge Function run-pipeline ingiere automáticamente ideas de fuentes RSS (boletines de IA), artículos diarios de Hugging Face y Emergent Mind (artículos destacados de arXiv). Cada elemento se clasifica por relevancia, se embebe, se deduplica y se almacena. Se ejecuta según un horario mediante GitHub Actions (despliegue en Supabase) o un contenedor cron integrado (despliegue con Docker).
Ruta de Recuperación
Cualquier cliente de IA conectado vía MCP (Model Context Protocol) puede buscar tus pensamientos por significado usando búsqueda semántica, navegar por filtros (tipo, tema, persona, tiempo), obtener estadísticas agregadas o solicitar una revisión semanal de temas. La Edge Function open-brain-mcp gestiona estas solicitudes, autenticadas con tu clave de acceso personal.
Grafo de Conocimiento
Cada pensamiento se enlaza automáticamente con pensamientos relacionados mediante similitud vectorial. Las conexiones por encima de 0.80 de similitud son clasificadas por un LLM en relaciones tipadas (extiende, contradice, es-evidencia-de, reemplaza). Las entidades nombradas (personas, herramientas, proyectos, organizaciones) se extraen y resuelven en un grafo de entidades compartido. Las aristas de co-ocurrencia rastrean qué pensamientos se recuperan juntos a lo largo del tiempo, fortaleciendo conexiones basadas en patrones de uso reales.
Almacenamiento
Todo vive en Postgres con pgvector para búsqueda rápida de similitud. Los pensamientos se almacenan con sus embeddings (vectores de 1536 dimensiones), metadatos, conexiones tipadas y referencias a entidades. Puedes desplegar en Supabase (alojamiento gestionado) o auto-alojar con Docker Compose.
Opciones de Despliegue
Elige cómo quieres ejecutar Open Brain:
| Supabase (alojado) | Docker Compose (auto-alojado) | |
|---|---|---|
| Configuración | Vincular proyecto + ejecutar scripts | cp .env.example .env + ./start.sh |
| Infraestructura | Gestionada por Supabase | Se ejecuta en tu máquina/servidor |
| Programación | GitHub Actions | Contenedor cron integrado |
| Costo | Nivel gratuito de Supabase + OpenRouter | Solo OpenRouter |
| Guía | Continuar abajo | Guía de Docker |
Despliegue en Supabase
Requisitos previos
-
Cuenta de Supabase -- Supabase es una base de datos Postgres alojada con APIs integradas, autenticación y Edge Functions (código serverless). Crea una cuenta gratuita en supabase.com. Crea un nuevo proyecto -- necesitarás la URL del proyecto (se ve como
https://abcdef.supabase.co) y la clave de rol de servicio (una cadena larga que se encuentra en Configuración > API). -
CLI de Supabase -- La herramienta de línea de comandos para gestionar tu proyecto de Supabase (aplicar migraciones de base de datos, desplegar funciones, configurar secretos).
npm install -g supabase -
Cuenta de OpenRouter -- OpenRouter enruta solicitudes a modelos de IA. Se usa aquí para generar embeddings (representaciones vectoriales de tus pensamientos) y extraer metadatos. Crea una cuenta en openrouter.ai y genera una clave de API desde el panel.
-
Bot de Telegram (recomendado) -- La forma principal de capturar pensamientos sobre la marcha. Crea un bot vía @BotFather en Telegram y ejecuta el script de configuración (ver abajo). Si solo quieres acceso MCP, puedes omitir esto.
Inicio Rápido
1. Clonar el repositorio
git clone https://github.com/YOUR_USERNAME/open_brain.git
cd open_brain
2. Vincular tu proyecto de Supabase
cd supabase
supabase link --project-ref YOUR_PROJECT_REF
cd ..
Consejo: Tu ref de proyecto es el subdominio en tu URL de Supabase. Si tu URL es
https://abcdef.supabase.co, tu ref de proyecto esabcdef.
3. Ejecutar bootstrap
./scripts/bootstrap.sh
Bootstrap te guía a través de la configuración de tu entorno. Te solicita cada secreto (URL de Supabase, clave de rol de servicio, clave de API de OpenRouter, tokens de Telegram, etc.), genera automáticamente una clave criptográfica de acceso MCP y escribe todo en .env.local. Si ya tienes un .env.local, mostrará tus valores existentes y te permitirá actualizar los específicos.
4. Ejecutar deploy
./scripts/deploy.sh
Deploy aplica el esquema de la base de datos (crea la tabla de pensamientos con índices de búsqueda vectorial), sube tus secretos a Supabase y despliega todas las Edge Functions. Muestra una lista de verificación paso a paso a medida que cada operación se completa. Al final, imprime tu URL de conexión MCP y un comando de Claude Code listo para pegar.
5. Ejecutar validate
./scripts/validate.sh
Validate ejecuta 8 comprobaciones contra tu despliegue en vivo para confirmar que todo funciona: acceso a la base de datos, funciones RPC, accesibilidad de Edge Functions, autenticación, captura de pensamientos, búsqueda semántica y listado de pensamientos. Imprime una lista de verificación con aprobado/fallido para cada comprobación y un resumen final.
Configurar el bot de Telegram (opcional)
Crea un bot vía @BotFather en Telegram, luego ejecuta el script de configuración:
./scripts/setup-telegram.sh YOUR_BOT_TOKEN
El script verifica tu token, registra el webhook, configura el autocompletado de comandos e imprime las variables de entorno y secretos a configurar. Sigue las instrucciones impresas para completar la configuración.
Conecta Tu Cliente de IA
Una vez desplegado, conecta tu cliente de IA para empezar a usar Open Brain. Necesitas dos valores:
- URL del endpoint MCP:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp(Supabase) ohttp://localhost:80/functions/v1/open-brain-mcp(Docker) - Clave de acceso MCP: La clave generada durante la configuración (almacenada en
.env.localo Docker.env)
Consejo: El script de deploy (Supabase) o el script de inicio (Docker) imprime el comando de conexión exacto con tus valores completados.
Claude Code (CLI -- recomendado)
claude mcp add --transport http --header "x-brain-key: YOUR_MCP_KEY" open-brain https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp
Esto registra Open Brain como un servidor MCP que Claude Code puede usar en cualquier conversación. Reemplaza YOUR_MCP_KEY y YOUR_REF con tus valores reales.
Claude Code (proyecto .mcp.json)
Añade esto a un archivo .mcp.json en la raíz de tu proyecto para compartir la conexión con tu equipo:
{
"mcpServers": {
"open-brain": {
"type": "http",
"url": "https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp",
"headers": {
"x-brain-key": "${MCP_ACCESS_KEY}"
}
}
}
}
Nota: La sintaxis
${MCP_ACCESS_KEY}usa expansión de variables de entorno para que tu clave no quede en el control de versiones. Configura la variable de entornoMCP_ACCESS_KEYen cada máquina que use esta configuración.
Claude Desktop
Claude Desktop no admite servidores MCP remotos mediante archivos de configuración. En su lugar:
- Abre Claude Desktop > Configuración > Conectores
- Haz clic en Añadir un nuevo conector
- Ingresa la URL del endpoint MCP:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp - Configura el encabezado de autenticación
x-brain-keycon tu clave de acceso MCP
ChatGPT (Pro/Team/Enterprise/Edu)
- Ve a Configuración > Conectores > Avanzado > Modo Desarrollador
- Añade la URL del servidor MCP:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp - Configura el encabezado de autenticación
x-brain-keycon tu clave de acceso MCP
Ejemplos de Uso
Captura por Telegram
Envía cualquier mensaje a tu bot y Open Brain lo procesa automáticamente:
You: Just had a great meeting with Sarah about the Q3 product roadmap.
She wants to prioritize the mobile app redesign.
Bot: Captured!
Type: meeting_note
Theme: personal
Topics: q3-roadmap, mobile-app-redesign
Quality: 0.7
People: Sarah
Action items: Prioritize mobile app redesign
Why: Records a product strategy decision with clear ownership
Related: "Product planning session notes..." (82% similar)
Cada mensaje se embebe como vector, se enriquece con metadatos extraídos, se verifica contra duplicados, se auto-enlaza a pensamientos relacionados y las entidades se resuelven en un grafo de conocimiento.
Búsqueda Semántica
Pide a cualquier cliente de IA conectado que busque en tu cerebro:
You: Search my brain for anything about product roadmap discussions
Claude: I found 3 relevant thoughts:
1. (0.89 similarity) Meeting with Sarah about Q3 product roadmap...
2. (0.82 similarity) Product planning session notes...
3. (0.76 similarity) Quarterly goals discussion...
La búsqueda semántica encuentra pensamientos por significado -- incluso si usaste palabras diferentes. Preguntar sobre "planificación de producto" encontrará pensamientos sobre "discusiones de roadmap" porque los significados son similares.
Revisión Semanal
Obtén un resumen generado por IA de tu pensamiento reciente:
You: Give me a weekly review of my recent thoughts
Claude: Here's your weekly review:
Themes: Product planning, team meetings, technical architecture
Open loops: Mobile redesign decision pending, API migration timeline
Connections: Sarah mentioned in 3 meetings this week, all about mobile
La revisión semanal analiza los últimos 7 días de pensamientos y sintetiza temas, bucles abiertos, conexiones entre ideas y vacíos en tu pensamiento.
Herramientas Disponibles
| Herramienta | Descripción |
|---|---|
search_thoughts | Búsqueda semántica con expansión opcional de grafo (recorrido de 1 salto) |
list_thoughts | Navegar pensamientos filtrados por tipo, tema, persona, temática, calidad, tiempo |
thought_stats | Estadísticas agregadas: conteos, desglose por tipo/temática, principales temas/personas |
capture_thought | Guardar un nuevo pensamiento desde cualquier cliente de IA (con auto-embedding) |
get_connections | Recorrido de grafo desde un pensamiento (enlaces tipados: extiende, contradice, etc.) |
list_entities | Navegar entidades extraídas (personas, herramientas, proyectos, organizaciones) por frecuencia |
weekly_review | Resumen generado por IA de temas, bucles abiertos y próximos pasos |
analyze | Análisis de grafo: hubs, densidad, fuentes, co-ocurrencia, temáticas |
dedup_review | Candidatos a duplicados con histograma de zonas de similitud |
refresh_salience | Recalcular todas las puntuaciones de saliencia |
update_thought | Reescribir contenido (re-embebe, re-extrae metadatos) |
delete_thought | Eliminación permanente (cascada de conexiones) |
serendipity_digest | Resurgir pensamientos olvidados de alta calidad |
pipeline | Monitoreo de pipeline: estado de salud, historial de ejecuciones, auditoría de fusiones |
review_stale | Revisar y actuar sobre candidatos a pensamientos obsoletos |
migration_guide | Instrucciones para importar recuerdos de otras plataformas |
Consulta docs/cookbook.md para patrones de uso detallados, composiciones de herramientas y comportamientos no obvios.
Skills (Flujos de Trabajo de Claude Code)
Open Brain incluye skills de Claude Code -- flujos de trabajo estructurados de múltiples fases que componen las herramientas MCP anteriores en análisis de nivel superior. Los skills se descubren automáticamente desde .claude/skills/ y se invocan como comandos de barra.
| Skill | Qué hace |
|---|---|
/discover | Descubrimiento incremental de patrones entre pensamientos recientes. Se basa en informes anteriores (clasificación EVOLVED/NEW/STALE), despacha agentes de investigación en paralelo, correlaciona con prioridades de proyecto. |
/pulse | Informe de salud de pipeline y datos. 9 llamadas MCP en paralelo, puntuación por rúbrica (GREEN/YELLOW/RED), memoria entre ejecuciones para rastrear hallazgos a lo largo del tiempo, 6 detectores de patrones entre métricas. |
/brain-health | Informe de salud del grafo de conocimiento. 12 llamadas MCP en paralelo que cubren atención temática, densidad del grafo, salud de hubs, alineación de co-ocurrencia, presión de deduplicación, salida de síntesis y panorama de entidades. |
Consulta docs/skills/README.md para descripciones detalladas y uso.
Mantenimiento Automatizado
Open Brain ejecuta mantenimiento en segundo plano para mantener saludable el grafo de conocimiento. Estos trabajos se ejecutan automáticamente -- mediante GitHub Actions (despliegue en Supabase) o el contenedor cron integrado (despliegue con Docker).
| Trabajo | Frecuencia | Propósito |
|---|---|---|
| Ingesta de RSS/Artículos HF/Papers Emergent Mind | 2x diario | Ingresar ideas de fuentes configuradas |
| Monitoreo de pipeline | 2x diario | Comprobaciones de salud con alertas por Telegram ante fallos |
| Dream dedup | 2x diario | Fusionar pensamientos casi-duplicados (>0.92 de similitud auto-fusionados, 0.85-0.92 confirmados por LLM) |
| Caché de análisis de grafo | Diario | Pre-calcular análisis de hubs, densidad y co-ocurrencia |
| Dream themes | Semanal | Rastrear velocidad temática, transiciones de ciclo de vida (emergente/activo/en declive), deriva de centroides |
| Dream decay | Semanal | Archivar pensamientos obsoletos mediante puntuación por niveles + confirmación de LLM |
| Dream synthesis | Semanal | Generar ideas transversales a partir de clústeres de pensamientos |
| Decaimiento de co-ocurrencia | Semanal | Degradar aristas de co-ocurrencia no utilizadas |
Los archivos de flujo de trabajo de GitHub Actions están incluidos en docs/workflows/ como referencia para personalizar horarios.
Estructura del Proyecto
open-brain-server/
supabase/
migrations/ # Database migrations (applied with supabase db push)
functions/
_shared/ # Shared modules (supabase-client, openrouter, types, errors, auto-link, entities, dream-*)
telegram-bot/ # Telegram capture (primary capture path)
open-brain-mcp/ # MCP server (17 tools)
tools/ # Individual tool implementations
run-pipeline/ # Automated RSS/HF Papers/Emergent Mind ingestion
monitor-pipeline/ # Pipeline health monitoring with Telegram alerts
refresh-graph-analysis/ # Graph analysis cache computation
docker/ # Docker Compose self-hosting (6 services)
pipeline/ # Python-based local pipeline (Reddit, RSS, briefing)
scripts/ # Setup and deployment automation
tests/ # Integration tests
docs/
cookbook.md # MCP tool usage patterns and compositions
skills/ # Skill documentation
workflows/ # GitHub Actions reference (scheduling)
writing-a-source.md # Guide for adding pipeline sources
.claude/
skills/ # Claude Code skills (auto-discovered)
discover/ # Incremental pattern discovery
pulse/ # Pipeline health report
brain-health/ # Knowledge graph health report
Licencia
MIT