mechabrain
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mechabrainsearch semantic memory for recent project notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mecha-Brain
Memória agentica drop-in para qualquer vault Markdown.
O Mecha-Brain dá a um conjunto arbitrário de agentes LLM os quatro tipos de memória do CoALA (working, episódica, semântica, procedural), recall semântico compartilhado e um ciclo de decisão explícito para escrita — sem descaracterizar o PKM humano da vault hospedeira.
Ele é composto de duas partes:
Uma pasta contratual (
mecha-brain/) instalada na raiz da vault — a área onde os agentes podem escrever, versionada junto com a vault.Um kernel (este repositório): CLI
mechabrain+ servidor MCP, instalado fora da vault, que serve busca híbrida, escrita governada e manutenção sobre essa pasta.
Teste de aceitação: mechabrain init <qualquer-vault> + editar um config.yaml deve ser tudo
que é preciso para portar o sistema. Se um passo de instalação exigir editar código, o projeto
falhou.
Instalação
uv tool install mechabrain # núcleo (pyyaml, numpy, mcp)
uv tool install "mechabrain[embed]" # + sentence-transformers (embeddings reais)
uv tool install "mechabrain[all]" # + lancedb + sqlite-vecO kernel exige Python >= 3.11. Ele mora fora da vault por design: código é software versionado com releases, não conteúdo sincronizado por nuvem.
cd /caminho/da/sua/vault
mechabrain init .O init cria o esqueleto, escreve um config.yaml default, adiciona mecha-brain/_meta/index/ ao
.gitignore da vault, gera o AGENTS.md e o schema.md, e imprime o snippet de integração para as
instruções da sua vault. É idempotente: rodar de novo não destrói nada.
As três camadas
Código, dados e estado de máquina têm ciclos de vida diferentes e nunca se misturam:
Camada | O quê | Onde vive | Sincroniza? |
Kernel | CLI, serviço de memória, servidor MCP, templates | instalado via | não (tem releases) |
Deployment |
| dentro da vault | sim, com o git da vault |
Runtime | índice vetorial ( | por máquina, gitignored | nunca |
Consequências práticas, todas normativas:
O kernel não contém nenhum caminho, nome de vault, nome de agente ou chave de frontmatter do seu deployment. Se ele precisa de um valor desses, o valor vem do manifest.
O deployment não contém nenhum caminho absoluto — todo path do
config.yamlé relativo à raiz da vault. Assim a vault sobrevive a mudar de pasta, de máquina e de sistema operacional.Zero symlinks. A vault é encontrada por convenção: argumento
--vault, depois a envMECHABRAIN_VAULT, depois subindo a árvore a partir do diretório atual até acharmecha-brain/_meta/config.yaml— do jeito que o git acha o.git.
A estrutura instalada
mecha-brain/
├── AGENTS.md # contrato para agentes — GERADO do template + config
├── hot.md # blackboard compartilhado — escrito só pelo consolidador
├── index.md # MOC mestre, magro; sharda por escopo quando cresce
├── indices/ # índices por escopo: <scope>.md
├── Semantic/ # fatos/insights consolidados, atômicos, curados
├── Episodic/ # eventos/sessões — IMUTÁVEL, append-only, uma subpasta por agente
├── Procedural/ # playbooks/how-tos destilados, com deprecação
├── Research/ # (opcional) relatórios de pesquisa longos
├── _inbox/ # propostas de mudança em notas humanas
└── _meta/
├── config.yaml # ★ O MANIFEST — a única casa de tudo específico do deployment
├── links.jsonl # arestas autoradas (memory_link) — versionado
├── schema.md # spec de frontmatter, gerada do manifest
└── index/ # vetores/BM25/derivados — GITIGNORED, por máquina, rebuildávelOs nomes dessa árvore são o contrato e não são configuráveis. O conteúdo é todo governado
pelo config.yaml.
Os comandos
Comando | Efeito |
| Cria o esqueleto, o manifest default, o |
| Regenera os artefatos derivados do manifest ( |
| Sobe o servidor MCP. |
| Reconstrói o índice derivado. Sempre seguro: o índice deriva do Markdown, que é a fonte-da-verdade. |
| Roda o pipeline de manutenção: flush de acessos, decay, deprecação, rebuild, commit — e o relatório de duplicatas. |
| Lint do deployment: manifest válido, denylists respeitadas, ausência de caminhos absolutos, |
Depois de editar o config.yaml, rode mechabrain sync. O AGENTS.md tem um bloco gerenciado
(entre <!-- mechabrain:begin --> e <!-- mechabrain:end -->) que o kernel regenera a partir do
manifest; o que você escrever fora do bloco sobrevive ao sync. Isso existe para eliminar o drift
entre documentação e config — fronteiras mantidas à mão divergem do config.yaml com o tempo.
Ferramentas MCP
Os agentes falam com o Mecha-Brain só por MCP: nenhum agente precisa conhecer os paths internos da pasta.
Ferramenta | O que faz |
| Busca híbrida (vetorial + BM25, pesos do manifest) com expansão opcional por links. |
| Nota completa por id ou wikilink. |
| Saúde do índice, contagens por tipo, data da última consolidação. |
| Escreve uma memória — passando pelo gate de escrita. |
| Propõe mudança em nota fora do sandbox. É a única via para isso. |
| Registra uma relação entre duas notas; alimenta a expansão por links da busca. |
Nomenclatura: a spec descreve as ferramentas como
memory.search,memory.getetc. O charset de nome de tool do MCP não aceita ponto, então o nome real na wire usa underscore (memory_search). A notação com ponto é o contrato conceitual; o underscore é o nome que você configura no cliente.
Todo resultado de busca carrega path e wikilink da fonte, para o agente citar de onde tirou a
informação. Memória citável é memória auditável.
Limites por design
Esta seção é a parte honesta do README. O kernel nunca chama um LLM. Ele implementa o que é mecanicamente verificável e reporta o resto — julgamento é dos agentes. Isso é o CoALA §6 levado a sério (código para o determinístico, LLM para o julgamento), e tem consequências que você deve conhecer antes de confiar no sistema:
O gate de escrita só impõe metade do checklist. Dos sete itens do gate, o kernel impõe cinco:
duplicata no mesmo escopo, source: preenchido, escopo válido, procedural com evidência, denylists.
Os outros dois — "isto é reutilizável?" e "isto é atômico?" — são julgamento, e código não
policia julgamento. Eles estão instruídos no AGENTS.md e voltam como warnings, nunca como
rejeição. Não fingimos enforcement com um booleano que o agente sempre marca true: um gate que
mente é pior que um gate ausente. A única exceção é opt-in e mecânica: gate.reject_on: [confidence_unverified] no manifest eleva a rejeição o caso "confidence: high sem
meta.evidence ao lado" — a condição é um fato checável, mesmo que "a fonte é primária?" não
seja. reusable e atomic não são eleváveis, por design.
A fusão de duplicatas não é automática. O consolidate executa os passos mecânicos (flush de
acessos, decay, deprecação de procedural com sucessor, rebuild, commit). Mas fundir duas memórias
preservando detalhe exige entender as duas — então o kernel detecta e reporta os candidatos
(mesmo escopo, acima de dedup_similarity) num relatório, e a fusão é feita por um agente via
memory_write com supersedes. Pares cross-scope similares vão para uma lista separada do
relatório e nunca são fundidos: semelhança textual entre dois projetos é justamente a distinção
que importa.
O contexto do Contextual Retrieval é determinístico, não gerado. O prefixo prependido a cada
chunk antes de indexar é scope + título + tags + caminho de headings — não um resumo escrito por
LLM. O corpus é autorado e atômico; extração por LLM na ingestão adicionaria custo e ruído. Pela
mesma razão, a expansão multi-hop consulta o grafo autorado (wikilinks do corpo, supersedes,
arestas de memory_link) e nunca um grafo extraído automaticamente. O grafo melhora por curadoria.
Consolidação nunca destrói. Decay arquiva (status: arquivado), não deleta — notas arquivadas
saem do index.md e perdem peso no retrieval, mas continuam buscáveis com filtro explícito. Dedup
preserva detalhe e registra supersedes.
Um escritor por máquina. O serve roda como daemon local e os clientes MCP apontam para ele.
Uma sessão-por-processo seria vários escritores no mesmo índice, corrompendo-o. Sem daemon, o
fallback é lock de arquivo.
Entre máquinas, a consistência é eventual, via o git da vault. O gate de dedup consulta o índice
local, então quase-duplicatas podem nascer em máquinas diferentes entre syncs; o consolidate as
reconcilia depois. Episodic/ ser append-only por agente mantém conflitos de merge raros.
Escopo é uma fronteira, não uma sugestão. Toda memória carrega scope:. Um fato verdadeiro no
projeto A não pode ser recuperado como verdade no projeto B sem sinalização. Na dúvida entre projeto
e global, prefira o projeto: promover a global é decisão de consolidação, não de escrita.
Fora do escopo da v0.1: GraphRAG completo; o manifest de zonas para subsistemas que escrevem em notas humanas vivas; consistência forte multi-máquina; gerenciamento de stores privados de agentes (fronteira deliberada — o kernel gerencia só o store compartilhado).
Desenvolvimento
uv venv --python 3.13
uv pip install -e ".[dev]"
uv run pytest -qCódigo, docstrings e mensagens de erro em inglês (o kernel é agnóstico e OSS); README e docs de usuário em PT-BR.
Licença
MIT — Davi Bezerra Barros.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Gwafflezz/mechabrain'
If you have feedback or need assistance with the MCP directory API, please join our Discord server