Skip to main content
Glama
inematds
by inematds

cerebro-mcp

đŸ‡§đŸ‡· PortuguĂȘs · đŸ‡ș🇾 English · đŸ‡Ș🇾 Español

Servidor MCP (Model Context Protocol) que expĂ”e o seu segundo cĂ©rebro — a pasta de Markdown criada pelo kit astra-2cerebro — como ferramentas para qualquer cliente MCP: Claude Code, Codex, Claude Desktop, n8n, bots e scripts.

Um cérebro. Vårios clientes. Nenhuma cópia.

📖 Guia de uso

Guia completo (landing + passo a passo): https://inematds.github.io/cerebro-mcp/guia/

                     ┌──────────────┐
  Claude Code ──┐    │              │
  Codex ────────┌──â–ș │  cerebro-mcp │ ──â–ș ~/meu-cerebro/  (AGENTS.md, contexto/, wiki/, decisoes/ ...)
  Claude Desktop─    │   (stdio ou  │
  n8n / bot ────┘    │    HTTP)     │
                     └──────────────┘

Related MCP server: obsidian-mcp

Por quĂȘ

O kit astra-2cerebro guarda quem vocĂȘ Ă©, o que faz, suas prioridades, decisĂ”es, projetos e uma wiki interligada — tudo em arquivos Markdown. Isso funciona muito bem para o agente que abre a pasta. Mas o Codex no terminal, o Claude Desktop no notebook, um fluxo no n8n e um bot no celular nĂŁo abrem a pasta.

O cerebro-mcp resolve isso: sobe um servidor MCP apontado para a pasta e cada cliente passa a ter cerebro_contexto, cerebro_buscar, cerebro_ler, cerebro_registrar_decisao e as demais ferramentas. O cĂ©rebro continua sendo sĂł arquivos; quem muda Ă© quem consegue lĂȘ-los.

Instalação em 1 minuto

Precisa de Node.js 20 ou superior.

git clone https://github.com/inematds/cerebro-mcp.git
cd cerebro-mcp
npm install
npm test                      # 42 testes contra a fixture em test/fixture

# aponte para o seu cérebro e teste por stdio
CEREBRO_DIR=~/meu-cerebro node scripts/teste-stdio.mjs ~/meu-cerebro

Registrar no Claude Code (uma linha):

claude mcp add cerebro -e CEREBRO_DIR=/caminho/do/cerebro -- node /caminho/cerebro-mcp/bin/cerebro-mcp.mjs

Codex, Claude Desktop, .mcp.json do projeto e modo HTTP: veja INSTALAR.md.

Como funciona

cerebro-mcp [--dir <pasta>] [--escrita] [--http <porta>] [--host <ip>]

Configuração

Como

PadrĂŁo

Pasta do cérebro

--dir <pasta> ou CEREBRO_DIR

pasta atual, se tiver AGENTS.md ou CLAUDE.md; senĂŁo erro claro

Escrita

--escrita ou CEREBRO_ESCRITA=1

desligada (somente leitura)

Transporte

--http <porta>

stdio

Endereço HTTP

--host <ip>

127.0.0.1

Sem --http o servidor fala MCP por stdio — Ă© o que Claude Code, Codex e Claude Desktop usam. Com --http ele sobe um endpoint Streamable HTTP (POST /mcp, sem sessĂŁo) para n8n, bots e scripts na mesma mĂĄquina.

Ferramentas

Ferramenta

O que faz

Escrita?

cerebro_contexto()

contexto/sobre-mim.md + sobre-o-trabalho.md + prioridades.md, concatenados com os caminhos

nĂŁo

cerebro_prioridades()

SĂł contexto/prioridades.md

nĂŁo

cerebro_rotas()

A seção "Mapa de rotas" do AGENTS.md (ou CLAUDE.md)

nĂŁo

cerebro_buscar(consulta, limite?)

Busca por termos em todos os .md (tĂ­tulo > caminho > wikilinks > frontmatter > corpo), com trecho

nĂŁo

cerebro_ler(caminho)

ConteĂșdo de um arquivo (ou listagem de uma pasta) dentro do cĂ©rebro

nĂŁo

cerebro_wiki_indice()

wiki/index.md

nĂŁo

cerebro_wiki_pagina(slug)

PĂĄgina da wiki pelo slug, em entidades/, conceitos/ ou fontes/

nĂŁo

cerebro_projetos()

Cada projetos/<nome>/README.md com a linha de estado

nĂŁo

cerebro_conexoes()

A tabela de conexoes.md

nĂŁo

cerebro_rotinas(limite?)

Rotinas ativas e Ășltimas execuçÔes de rotinas/registro.md

nĂŁo

cerebro_registrar_decisao(titulo, decisao, porque, alternativas?, responsavel?)

Acrescenta entrada datada em decisoes/registro.md

sim

cerebro_adicionar_fonte(nome, conteudo)

Grava fontes/AAAA-MM-DD-<slug>.md sem sobrescrever

sim

cerebro_registrar_execucao(id, resultado, saida?, observacao?)

Nova linha no topo do "Registro de execuçÔes"

sim

As trĂȘs de escrita sĂł aparecem quando o servidor sobe com --escrita. Detalhes, parĂąmetros e exemplos de retorno: docs/ferramentas.md.

Além das ferramentas, cada .md é exposto como recurso cerebro://<caminho> (por exemplo cerebro://wiki/entidades/empresa-x.md), para clientes que preferem "anexar" uma nota.

Exemplos de conversa

Com o servidor registrado, o agente decide sozinho quando chamar cada ferramenta.

VocĂȘ: Quais sĂŁo as minhas prioridades deste trimestre? Agente: (chama cerebro_prioridades) TrĂȘs, segundo contexto/prioridades.md: entregar a fase 2 do Projeto Alfa atĂ© o fim de outubro, lançar o site novo e reduzir o relatĂłrio semanal de 4 horas para 1.

VocĂȘ: Por que decidimos fazer o site em gerador estĂĄtico? Agente: (chama cerebro_buscar("site estĂĄtico"), depois cerebro_ler("decisoes/registro.md")) Em 2026-08-20 vocĂȘ registrou: custo zero e pouca manutenção; mudaria de ideia se precisasse de ĂĄrea logada.

VocĂȘ: Registra que vamos aceitar a fase 2 com prazo em outubro. Agente: (servidor com --escrita; chama cerebro_registrar_decisao) Registrado em decisoes/registro.md com a data de hoje. Quer que eu anote as alternativas consideradas?

VocĂȘ: O que a Empresa X pediu na Ășltima reuniĂŁo? Agente: (chama cerebro_wiki_pagina("empresa-x"), segue os links para a fonte) Aprovou o escopo da fase 2 e ficou de definir quem valida os relatĂłrios semanais.

Segurança

  • Leitura por padrĂŁo. Sem --escrita, as ferramentas de escrita nem sĂŁo registradas — o cliente nĂŁo as vĂȘ. E mesmo com elas registradas, o nĂșcleo confere a flag de novo antes de gravar.

  • SĂł dentro da pasta. Todo caminho passa por caminhoSeguro: resolve, confere o prefixo, segue symlinks e confere de novo. ../, caminhos absolutos de fora e links apontando para fora sĂŁo recusados.

  • .env, .git e node_modules sĂŁo invisĂ­veis, mesmo para leitura.

  • HTTP sĂł em 127.0.0.1 por padrĂŁo, sem autenticação. Se expor em outra interface, coloque um proxy com autenticação na frente — e lembre que um cĂ©rebro contĂ©m dados pessoais.

  • Nada sai da mĂĄquina. O servidor nĂŁo faz requisiçÔes externas.

Detalhes em docs/seguranca.md.

Testes

npm test            # node --test: nĂșcleo, escrita e servidor (cliente MCP em memĂłria)
npm run teste:stdio # sobe o binĂĄrio de verdade e conversa em JSON-RPC por stdio
npm run teste:http  # sobe --http em porta livre e faz as chamadas que um n8n faria

Resultado real da fumaça por stdio (node scripts/teste-stdio.mjs, contra test/fixture):

[servidor] [cerebro-mcp] pronto por stdio — cĂ©rebro em .../test/fixture (escrita desligada)
OK  initialize → servidor cerebro-mcp 1.0.0 (protocolo 2025-06-18)
OK  tools/list → 10 ferramentas: cerebro_contexto, cerebro_prioridades, cerebro_rotas, cerebro_buscar, cerebro_ler, cerebro_projetos, cerebro_conexoes, cerebro_rotinas, cerebro_wiki_indice, cerebro_wiki_pagina
OK  tools/call cerebro_buscar → 2 resultado(s) para "empresa x":
OK  tools/call cerebro_rotas → seção encontrada
OK  tools/call cerebro_ler ../../etc/passwd → isError (Erro: Acesso negado: "../../etc/passwd" estĂĄ fora do cĂ©rebro.)
OK  resources/list → 27 recursos cerebro://

Com --escrita, o tools/list devolve 13 ferramentas (as 10 acima mais cerebro_registrar_decisao, cerebro_adicionar_fonte e cerebro_registrar_execucao). O npm test cobre: busca (relevùncia, acentos, wikilinks, pastas ignoradas), leitura com bloqueio de traversal/symlink/.env, extração de rotas e prioridades, projetos, conexÔes, rotinas, wiki, recursos, escrita bloqueada sem --escrita e funcionando com ela (em cópia temporåria da fixture).

Documentação

FAQ curta

Preciso do kit astra-2cerebro? O servidor lĂȘ a estrutura que o kit cria. Qualquer pasta com AGENTS.md ou CLAUDE.md sobe, mas as ferramentas de contexto, wiki e rotinas esperam os arquivos do kit.

Posso apontar dois clientes para o mesmo cĂ©rebro? Sim. Cada cliente sobe o prĂłprio processo do servidor; todos leem a mesma pasta. Escrita simultĂąnea Ă© rara e as trĂȘs operaçÔes sĂł acrescentam texto.

O servidor indexa em algum lugar? Não. A busca varre os .md a cada chamada. Para cérebros com centenas de notas é instantùneo; para milhares ainda é aceitåvel.

Funciona no Windows? Sim, com Node 20+. Nos exemplos, troque os caminhos.

Mais em docs/faq.md.

Créditos e licença

ConstruĂ­do para o kit astra-2cerebro — a estrutura de pastas, o formato das decisĂ”es, rotinas, conexĂ”es e wiki vĂȘm de lĂĄ. Usa o SDK oficial @modelcontextprotocol/sdk.

MIT — Copyright (c) 2026 inematds.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Exposes a personal markdown-based second brain (Obsidian-style) as an MCP server, enabling agents to search, read, and write notes with privacy controls.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables any MCP client to semantically search, traverse, and manage a local markdown note vault through a shared LanceDB-backed RAG index. It supports natural-language queries, backlink and wikilink traversal, link repair, daily journaling, and note creation, editing, and frontmatter updates.
    18
    1,604 npm
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables Claude and other MCP-compatible clients to create atomic notes, link them with semantic relationship types, tag and search them, and traverse the resulting knowledge graph for exploration and synthesis. Notes are stored as human-readable Markdown files that remain the source of truth, with a rebuildable SQLite index for fast querying.
    -