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çãoVincular projeto + rodar scriptscp .env.example .env + ./start.sh
InfraestruturaGerenciada pelo SupabaseRoda na sua máquina/servidor
AgendamentoGitHub ActionsContêiner cron embutido
CustoCamada gratuita do Supabase + OpenRouterApenas OpenRouter
GuiaContinuar abaixoGuia Docker

Deploy no Supabase

Pré-requisitos

  1. 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).

  2. 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
    
  3. 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.

  4. 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) ou http://localhost:80/functions/v1/open-brain-mcp (Docker)
  • Chave de acesso MCP: A chave gerada durante a configuração (armazenada em .env.local ou 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 ambiente MCP_ACCESS_KEY em 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:

  1. Abra Claude Desktop > Configurações > Conectores
  2. Clique em Adicionar um novo conector
  3. Insira a URL do endpoint MCP: https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp
  4. Configure o cabeçalho de autenticação x-brain-key com sua chave de acesso MCP

ChatGPT (Pro/Team/Enterprise/Edu)

  1. Vá para Configurações > Conectores > Avançado > Modo Desenvolvedor
  2. Adicione a URL do servidor MCP: https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp
  3. Configure o cabeçalho de autenticação x-brain-key com 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

FerramentaDescrição
search_thoughtsBusca semântica com expansão opcional de grafo (travessia de 1 salto)
list_thoughtsNavegar por pensamentos filtrados por tipo, tópico, pessoa, tema, qualidade, tempo
thought_statsEstatísticas agregadas: contagens, detalhamento por tipo/tema, principais tópicos/pessoas
capture_thoughtSalvar um novo pensamento de qualquer cliente de IA (com auto-embedding)
get_connectionsTravessia de grafo a partir de um pensamento (links tipados: estende, contradiz, etc.)
list_entitiesNavegar por entidades extraídas (pessoas, ferramentas, projetos, orgs) por frequência
weekly_reviewResumo gerado por IA de temas, loops abertos e próximos passos
analyzeAnálise de grafo: hubs, densidade, fontes, co-ocorrência, temas
dedup_reviewCandidatos a duplicatas com histograma de zonas de similaridade
refresh_salienceRecalcular todas as pontuações de saliência
update_thoughtReescrever conteúdo (re-embedding, re-extração de metadados)
delete_thoughtExclusão permanente (cascata de conexões)
serendipity_digestRessurgir pensamentos esquecidos de alta qualidade
pipelineMonitoramento de pipeline: status de saúde, histórico de execuções, auditoria de merges
review_staleRevisar e agir sobre candidatos a pensamentos obsoletos
migration_guideInstruçõ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.

SkillO que faz
/discoverDescoberta 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.
/pulseRelató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-healthRelató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).

JobFrequênciaPropósito
Ingestão RSS/Papers HF/Emergent Mind2x ao diaIngerir ideias das fontes configuradas
Monitoramento de pipeline2x ao diaVerificações de saúde com alertas no Telegram em falhas
Dream dedup2x ao diaMesclar pensamentos quase-duplicados (>0,92 similaridade auto-mesclado, 0,85-0,92 confirmado por LLM)
Cache de análise de grafoDiárioPré-calcular análise de hubs, densidade e co-ocorrência
Dream temasSemanalRastrear velocidade de temas, transições de ciclo de vida (emergente/ativo/em declínio), deriva de centróide
Dream decaySemanalArquivar pensamentos obsoletos via pontuação em camadas + confirmação por LLM
Dream sínteseSemanalGerar insights transversais a partir de clusters de pensamentos
Decay de co-ocorrênciaSemanalDecair 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