Open-Brain
Servidor de memória MCP que constrói um grafo de conhecimento enquanto você captura pensamentos. 16 ferramentas. Auto-hospedável.
Documentação
Open Brain
Memória MCP estruturada em grafo. 37,2% na baseline LongMemEval — um benchmark que a maioria dos sistemas de memória não publica.
Um servidor de memória auto-hospedável para clientes MCP (Claude, ChatGPT, qualquer assistente que fale MCP). Pensamentos fluem do Telegram, pipelines ou captura direta e caem em um grafo de entidades ponderado por Newman-IDF — não em um armazenamento plano de documentos. Um ciclo automatizado de Dream roda em segundo plano: deduplicando quase-duplicatas, rastreando deriva de temas, sintetizando insights entre clusters e arquivando conteúdo obsoleto. 17 ferramentas MCP. PostgreSQL + pgvector. Você é dono dos seus dados.
Como 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]
Caminho de Captura
Quando você envia uma mensagem para o bot do Telegram, a Edge Function telegram-bot a captura via webhook. Ela envia a mensagem para o OpenRouter em paralelo para duas coisas: gerar um embedding vetorial (uma representação numérica de significado) e extrair metadados como tópicos, pessoas mencionadas, itens de ação, tema, pontuação de qualidade e entidades nomeadas. O pensamento é verificado quanto a duplicatas semânticas, armazenado no seu banco de dados com conexões automáticas a pensamentos relacionados, e o bot responde com um resumo do que foi capturado.
Caminho de Pipeline
A Edge Function run-pipeline ingere automaticamente ideias de feeds RSS (newsletters de IA), papers diários do Hugging Face e Emergent Mind (papers em alta do arXiv). Cada item é triado quanto à relevância, incorporado, deduplicado e armazenado. Roda em um agendamento via GitHub Actions (deploy Supabase) ou um contêiner cron embutido (deploy Docker).
Caminho de Recuperação
Qualquer cliente de IA conectado via MCP (Model Context Protocol) pode buscar seus pensamentos por significado usando busca semântica, navegar por filtros (tipo, tópico, pessoa, tempo), obter estatísticas agregadas ou solicitar uma revisão semanal de temas. A Edge Function open-brain-mcp lida com essas solicitações, autenticadas com sua chave de acesso pessoal.
Grafo de Conhecimento
Cada pensamento é automaticamente vinculado a pensamentos relacionados via similaridade vetorial. Conexões acima de 0,80 de similaridade são classificadas por um LLM em relacionamentos tipados (estende, contradiz, é-evidência-para, substitui). Entidades nomeadas (pessoas, ferramentas, projetos, organizações) são extraídas e resolvidas em um grafo de entidades compartilhado. Arestas de co-ocorrência rastreiam quais pensamentos são recuperados juntos ao longo do tempo, fortalecendo conexões com base em padrões reais de uso.
Armazenamento
Tudo vive no Postgres com pgvector para busca rápida por similaridade. Pensamentos são armazenados com seus embeddings (vetores de 1536 dimensões), metadados, conexões tipadas e referências de entidades. Você pode fazer deploy no Supabase (hospedagem gerenciada) ou auto-hospedar com Docker Compose.
Opções de Deploy
Escolha como você quer rodar o Open Brain:
| Supabase (hospedado) | Docker Compose (auto-hospedado) | |
|---|---|---|
| Configuração | Vincular projeto + rodar scripts | cp .env.example .env + ./start.sh |
| Infraestrutura | Gerenciada pelo Supabase | Roda na sua máquina/servidor |
| Agendamento | GitHub Actions | Contêiner cron embutido |
| Custo | Camada gratuita do Supabase + OpenRouter | Apenas OpenRouter |
| Guia | Continuar abaixo | Guia Docker |
Deploy no Supabase
Pré-requisitos
-
Conta Supabase -- Supabase é um banco de dados Postgres hospedado com APIs integradas, autenticação e Edge Functions (código serverless). Crie uma conta gratuita em supabase.com. Crie um novo projeto — você precisará da URL do projeto (parece com
https://abcdef.supabase.co) e da chave de função de serviço (uma string longa encontrada em Configurações > API). -
CLI do Supabase -- A ferramenta de linha de comando para gerenciar seu projeto Supabase (aplicando migrações de banco de dados, implantando funções, definindo segredos).
npm install -g supabase -
Conta OpenRouter -- O OpenRouter roteia solicitações para modelos de IA. É usado aqui para gerar embeddings (representações vetoriais dos seus pensamentos) e extrair metadados. Crie uma conta em openrouter.ai e gere uma chave de API no painel.
-
Bot do Telegram (recomendado) -- A principal forma de capturar pensamentos em movimento. Crie um bot via @BotFather no Telegram e rode o script de configuração (veja abaixo). Se você só quer acesso MCP, pode pular isso.
Início Rápido
1. Clone o repositório
git clone https://github.com/YOUR_USERNAME/open_brain.git
cd open_brain
2. Vincule seu projeto Supabase
cd supabase
supabase link --project-ref YOUR_PROJECT_REF
cd ..
Dica: Sua ref de projeto é o subdomínio na sua URL do Supabase. Se sua URL for
https://abcdef.supabase.co, sua ref de projeto éabcdef.
3. Rode o bootstrap
./scripts/bootstrap.sh
O bootstrap guia você pela configuração do seu ambiente. Ele solicita cada segredo (URL do Supabase, chave de função de serviço, chave de API do OpenRouter, tokens do Telegram, etc.), gera automaticamente uma chave MCP criptográfica e grava tudo em .env.local. Se você já tiver um .env.local, ele mostrará seus valores existentes e permitirá atualizar itens específicos.
4. Rode o deploy
./scripts/deploy.sh
O deploy aplica o esquema do banco de dados (cria a tabela de pensamentos com índices de busca vetorial), envia seus segredos para o Supabase e implanta todas as Edge Functions. Ele mostra uma lista de verificação passo a passo conforme cada operação é concluída. No final, imprime sua URL de conexão MCP e um comando pronto para colar no Claude Code.
5. Rode a validação
./scripts/validate.sh
A validação executa 8 verificações no seu deploy ao vivo para confirmar que tudo funciona: acesso ao banco de dados, funções RPC, acessibilidade das Edge Functions, autenticação, captura de pensamentos, busca semântica e listagem de pensamentos. Ela imprime uma lista de verificação com aprovado/reprovado para cada verificação e um resumo final.
Configurar bot do Telegram (opcional)
Crie um bot via @BotFather no Telegram e depois rode o script de configuração:
./scripts/setup-telegram.sh YOUR_BOT_TOKEN
O script verifica seu token, registra o webhook, configura o autocompletar de comandos e imprime as variáveis de ambiente e segredos a configurar. Siga as instruções impressas para concluir a configuração.
Conecte Seu Cliente de IA
Após o deploy, conecte seu cliente de IA para começar a usar o Open Brain. Você precisa de dois valores:
- URL do endpoint MCP:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp(Supabase) ouhttp://localhost:80/functions/v1/open-brain-mcp(Docker) - Chave de acesso MCP: A chave gerada durante a configuração (armazenada em
.env.localou Docker.env)
Dica: O script de deploy (Supabase) ou script de início (Docker) imprime o comando de conexão exato com seus valores preenchidos.
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
Isso registra o Open Brain como um servidor MCP que o Claude Code pode usar em qualquer conversa. Substitua YOUR_MCP_KEY e YOUR_REF pelos seus valores reais.
Claude Code (projeto .mcp.json)
Adicione isso a um arquivo .mcp.json na raiz do seu projeto para compartilhar a conexão com sua equipe:
{
"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: A sintaxe
${MCP_ACCESS_KEY}usa expansão de variáveis de ambiente para que sua chave fique fora do controle de versão. Defina a variável de ambienteMCP_ACCESS_KEYem cada máquina que usar esta configuração.
Claude Desktop
O Claude Desktop não suporta servidores MCP remotos via arquivos de configuração. Em vez disso:
- Abra Claude Desktop > Configurações > Conectores
- Clique em Adicionar um novo conector
- Insira a URL do endpoint MCP:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp - Configure o cabeçalho de autenticação
x-brain-keycom sua chave de acesso MCP
ChatGPT (Pro/Team/Enterprise/Edu)
- Vá para Configurações > Conectores > Avançado > Modo Desenvolvedor
- Adicione a URL do servidor MCP:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp - Configure o cabeçalho de autenticação
x-brain-keycom sua chave de acesso MCP
Exemplos de Uso
Captura via Telegram
Envie qualquer mensagem para seu bot e o Open Brain a processa automaticamente:
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 mensagem é incorporada como um vetor, enriquecida com metadados extraídos, verificada quanto a duplicatas, vinculada automaticamente a pensamentos relacionados e entidades são resolvidas em um grafo de conhecimento.
Busca Semântica
Peça a qualquer cliente de IA conectado para buscar em seu cérebro:
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...
A busca semântica encontra pensamentos por significado — mesmo se você usou palavras diferentes. Perguntar sobre "planejamento de produto" encontrará pensamentos sobre "discussões de roadmap" porque os significados são semelhantes.
Revisão Semanal
Obtenha um resumo gerado por IA do seu pensamento recente:
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
A revisão semanal analisa os últimos 7 dias de pensamentos e sintetiza temas, loops abertos, conexões entre ideias e lacunas no seu pensamento.
Ferramentas Disponíveis
| Ferramenta | Descrição |
|---|---|
search_thoughts | Busca semântica com expansão opcional de grafo (travessia de 1 salto) |
list_thoughts | Navegar por pensamentos filtrados por tipo, tópico, pessoa, tema, qualidade, tempo |
thought_stats | Estatísticas agregadas: contagens, detalhamento por tipo/tema, principais tópicos/pessoas |
capture_thought | Salvar um novo pensamento de qualquer cliente de IA (com auto-embedding) |
get_connections | Travessia de grafo a partir de um pensamento (links tipados: estende, contradiz, etc.) |
list_entities | Navegar por entidades extraídas (pessoas, ferramentas, projetos, orgs) por frequência |
weekly_review | Resumo gerado por IA de temas, loops abertos e próximos passos |
analyze | Análise de grafo: hubs, densidade, fontes, co-ocorrência, temas |
dedup_review | Candidatos a duplicatas com histograma de zonas de similaridade |
refresh_salience | Recalcular todas as pontuações de saliência |
update_thought | Reescrever conteúdo (re-embedding, re-extração de metadados) |
delete_thought | Exclusão permanente (cascata de conexões) |
serendipity_digest | Ressurgir pensamentos esquecidos de alta qualidade |
pipeline | Monitoramento de pipeline: status de saúde, histórico de execuções, auditoria de merges |
review_stale | Revisar e agir sobre candidatos a pensamentos obsoletos |
migration_guide | Instruções para importar memórias de outras plataformas |
Veja docs/cookbook.md para padrões de uso detalhados, composições de ferramentas e comportamentos não óbvios.
Skills (Fluxos de Trabalho do Claude Code)
O Open Brain inclui skills do Claude Code — fluxos de trabalho estruturados em várias fases que compõem as ferramentas MCP acima em análises de nível superior. As skills são descobertas automaticamente de .claude/skills/ e invocadas como comandos de barra.
| Skill | O que faz |
|---|---|
/discover | Descoberta incremental de padrões em pensamentos recentes. Baseia-se em relatórios anteriores (classificação EVOLVED/NEW/STALE), despacha agentes de pesquisa paralelos, correlaciona com prioridades de projeto. |
/pulse | Relatório de saúde de pipeline e dados. 9 chamadas MCP paralelas, pontuadas por rubrica (GREEN/YELLOW/RED), memória entre execuções para rastrear descobertas ao longo do tempo, 6 detectores de padrões entre métricas. |
/brain-health | Relatório de saúde do grafo de conhecimento. 12 chamadas MCP paralelas cobrindo atenção a temas, densidade do grafo, saúde dos hubs, alinhamento de co-ocorrência, pressão de deduplicação, saída de síntese e panorama de entidades. |
Veja docs/skills/README.md para descrições detalhadas e uso.
Manutenção Automatizada
O Open Brain roda manutenção em segundo plano para manter o grafo de conhecimento saudável. Esses jobs rodam automaticamente — via GitHub Actions (deploy Supabase) ou o contêiner cron embutido (deploy Docker).
| Job | Frequência | Propósito |
|---|---|---|
| Ingestão RSS/Papers HF/Emergent Mind | 2x ao dia | Ingerir ideias das fontes configuradas |
| Monitoramento de pipeline | 2x ao dia | Verificações de saúde com alertas no Telegram em falhas |
| Dream dedup | 2x ao dia | Mesclar pensamentos quase-duplicados (>0,92 similaridade auto-mesclado, 0,85-0,92 confirmado por LLM) |
| Cache de análise de grafo | Diário | Pré-calcular análise de hubs, densidade e co-ocorrência |
| Dream temas | Semanal | Rastrear velocidade de temas, transições de ciclo de vida (emergente/ativo/em declínio), deriva de centróide |
| Dream decay | Semanal | Arquivar pensamentos obsoletos via pontuação em camadas + confirmação por LLM |
| Dream síntese | Semanal | Gerar insights transversais a partir de clusters de pensamentos |
| Decay de co-ocorrência | Semanal | Decair arestas de co-ocorrência não utilizadas |
Arquivos de fluxo de trabalho do GitHub Actions estão incluídos em docs/workflows/ como referência para personalizar agendamentos.
Estrutura do Projeto
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
Licença
MIT