MIE - Memory Intelligence Engine
Servidor MCP de grafo de conhecimento persistente que concede aos agentes de IA memória compartilhada entre sessões e provedores. Armazena fatos, decisões, entidades e eventos com relacionamentos tipados.
Documentação
MIE - Memory Intelligence Engine
Pare de reexplicar tudo para cada agente de IA. O MIE dá a todos os seus agentes — Claude, ChatGPT, Cursor, Gemini — um grafo de conhecimento compartilhado e persistente que eles podem ler e escrever. Decisões, contexto, fatos e relacionamentos sobrevivem entre sessões, ferramentas e provedores.
O Problema
Você explicou toda a sua arquitetura para o Claude. Duas horas de contexto, decisões, tradeoffs. No dia seguinte, nova conversa — ele não sabe nada. Então você explica de novo. Depois você muda para o Cursor para implementação. Zero contexto. Você abre o ChatGPT para debater um ângulo diferente. Tela em branco.
Cada agente de IA que você usa é brilhante, mas amnésico. E nenhum deles conversa entre si.
O MIE resolve isso. Um grafo de conhecimento. Cada agente lê dele. Cada agente escreve nele. Suas decisões, seu contexto, suas regras — sempre disponíveis, em qualquer lugar.
Como Funciona
You: "We chose PostgreSQL over DynamoDB because we need ACID
transactions for the payments module. Alternative was Aurora
but too expensive at current stage."
Claude stores this via MIE
↓
┌─────────────────────────────────────────────┐
│ MIE Knowledge Graph │
│ │
│ Decision: PostgreSQL over DynamoDB │
│ Rationale: ACID transactions for payments │
│ Alternatives: [DynamoDB, Aurora] │
│ Entities: payments-module, PostgreSQL │
│ Status: active │
└─────────────────────────────────────────────┘
↓
Next week, in Cursor, different project:
"What database did we choose and why?"
→ Cursor queries MIE, gets full context instantly
Sem copiar e colar. Sem "como mencionei antes". Sem começar do zero.
Por Que Não Usar Apenas a Memória do Claude / Memória do ChatGPT?
| Memória da Plataforma | MIE | |
|---|---|---|
| Entre agentes | ❌ O Claude não sabe o que você disse ao ChatGPT | ✅ Todos os agentes compartilham o mesmo grafo |
| Estruturado | ❌ Resumos de texto simples | ✅ Nós tipados: fatos, decisões, entidades, eventos |
| Consultável | ❌ Recuperação básica por palavras-chave | ✅ Busca semântica, travessia de grafo, detecção de conflitos |
| Portátil | ❌ Preso a um provedor | ✅ Seus dados, sua máquina, exportável |
| Relacionamentos | ❌ Nenhum | ✅ "Esta decisão se relaciona a esta entidade e foi acionada por este evento" |
| Histórico | ❌ Sobrescreve silenciosamente | ✅ Cadeias de invalidação — veja o que mudou e por quê |
Início Rápido
1. Instalar
brew tap kraklabs/mie
brew install mie
2. Inicializar
mie init # Quick setup with defaults
mie init --interview # Interactive — asks about your stack, team, and project
3. Conectar aos seus agentes de IA
Claude Code (.mcp.json):
{
"mcpServers": {
"mie": {
"command": "mie",
"args": ["--mcp"]
}
}
}
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"mie": {
"command": "mie",
"args": ["--mcp"]
}
}
}
É isso. Seus agentes agora compartilham um cérebro.
O Que É Armazenado
O MIE não é um registro de chat. Ele armazena conhecimento estruturado como um grafo:
Fatos — Coisas que são verdadeiras sobre o seu mundo. "Nossa API usa JWT com assinatura RS256." · "O time tem 6 engenheiros em 3 fusos horários."
Decisões — Escolhas com justificativa e alternativas. "Escolhemos Go em vez de Rust para o CIE por causa dos bindings CGO do CozoDB. Alternativas: Rust, Python."
Entidades — Pessoas, empresas, projetos, tecnologias. "Kraklabs — laboratório independente de software e IA." · "CIE — Code Intelligence Engine."
Eventos — Ocorrências com registro de data e hora. "Lançamos a v0.4.0 em 2026-01-15." · "Demonstração para o cliente agendada para 10 de março."
Tópicos — Temas recorrentes que conectam tudo. "Arquitetura" · "Segurança" · "Estratégia de Produto"
Eles se conectam por meio de relacionamentos tipados — uma decisão referencia entidades, relaciona-se a tópicos e pode ser acionada por eventos. Quando um agente consulta "o que você sabe sobre nossas decisões de segurança?", o MIE percorre o grafo e retorna contexto estruturado, não correspondências de palavras-chave.
Ferramentas MCP
O MIE expõe 12 ferramentas por meio do Model Context Protocol:
| Ferramenta | O que faz |
|---|---|
mie_analyze | Apresenta contexto relacionado antes de armazenar — o agente decide o que vale a pena lembrar |
mie_store | Grava fatos, decisões, entidades, eventos e relacionamentos no grafo |
mie_bulk_store | Armazena em lote até 50 nós com referências cruzadas — ideal para importar conhecimento de arquivos ou histórico do git |
mie_get | Recupera um único nó de memória por ID com detalhes completos |
mie_query | Busca semântica, consulta exata ou travessia de grafo em todos os tipos de nó |
mie_list | Lista e filtra nós com paginação |
mie_update | Invalida fatos desatualizados, atualiza status — com histórico completo preservado |
mie_delete | Remove nós com cascata (embedding + arestas) ou remove relacionamentos individuais |
mie_conflicts | Detecta contradições no conhecimento armazenado |
mie_export | Exporta o grafo completo como JSON ou Datalog |
mie_repair | Reconstrói índices HNSW e limpa embeddings órfãos |
mie_status | Saúde do grafo, contagens de nós, métricas de uso |
Zero Inferência no Lado do Servidor
Diferente de outras soluções de memória que executam um LLM no servidor para classificar o que armazenar, o MIE usa um padrão de agente como avaliador. O servidor fornece contexto; seu agente (que já está executando um LLM) decide o que importa. Isso significa custo de inferência adicional zero — sua camada de memória não queima tokens.
Essa filosofia se estende à importação: quando você pede ao seu agente para "importar conhecimento deste repositório", o agente lê seus arquivos, ADRs ou histórico do git diretamente e usa mie_bulk_store para persistir o que extrai. O MIE permanece como um motor de armazenamento puro — o agente conectado É o LLM.
Arquitetura
┌─────────────────────────────────────┐
│ Any MCP Client │
│ Claude · Cursor · ChatGPT* · etc │
└──────────────┬──────────────────────┘
│ MCP (JSON-RPC over stdio)
┌──────────────▼──────────────────────┐
│ MIE Server (one per MCP client) │
│ 12 tools · semantic search · │
│ graph traversal · conflicts │
└──────────────┬──────────────────────┘
│ Unix domain socket
┌──────────────▼──────────────────────┐
│ MIE Daemon (shared singleton) │
│ Manages exclusive DB lock · │
│ Serves multiple clients │
└──────────────┬──────────────────────┘
│ Datalog queries
┌──────────────▼──────────────────────┐
│ CozoDB (embedded) │
│ Graph DB · HNSW vectors · ACID │
└─────────────────────────────────────┘
+ Ollama (optional, local embeddings)
ChatGPT via custom GPT Actions apontando para o MIE Cloud (em breve).
Vários clientes MCP (Claude, Cursor, etc.) podem rodar simultaneamente — o daemon mantém o bloqueio exclusivo do banco de dados e multiplexa o acesso. O daemon inicia automaticamente no primeiro uso ou pode ser gerenciado manualmente via mie daemon.
Ciclo de Vida da Memória
Store Query Evolve
───── ───── ──────
Your agent learns → Next session, any → Facts change.
something new. agent queries MIE Old ones get
It stores a fact, for context before invalidated, not
a decision, or an responding. Full deleted. The graph
entity — with graph of related keeps history of
confidence scores knowledge returns what was known
and relationships. in milliseconds. and when.
Configuração
# .mie/config.yaml
version: "1"
storage:
engine: rocksdb # rocksdb, sqlite, or mem
embedding:
enabled: true
provider: ollama # ollama, openai, or nomic
model: nomic-embed-text
mcp:
# Option A: only expose these tools (whitelist)
include_tools:
- mie_analyze
- mie_store
- mie_query
# Option B: expose all except these (blacklist)
# exclude_tools:
# - mie_export
# - mie_repair
Todas as configurações podem ser sobrescritas com variáveis de ambiente. Embeddings são opcionais — o MIE funciona sem eles (apenas busca exata).
A seção mcp é opcional. Quando omitida, todas as 12 ferramentas são expostas. Use include_tools para colocar ferramentas específicas na lista de permissões, ou exclude_tools para ocultar algumas. Se ambos forem definidos, include_tools tem precedência. Ferramentas filtradas também são rejeitadas em tools/call.
CLI
mie init # Create config with defaults
mie init --interview # Interactive project bootstrapping
mie --mcp # Start as MCP server (auto-starts daemon)
mie daemon start # Start daemon in background
mie daemon start --foreground # Start daemon in foreground (for debugging)
mie daemon stop # Stop running daemon
mie daemon status # Check if daemon is running
mie status # Show graph statistics
mie export # Export memory graph
mie import -i backup.json # Import from JSON or Datalog
mie reset --yes # Delete all data
mie query "<cozoscript>" # Raw Datalog query (debug)
Pré-requisitos
- Go 1.24+ (compilar a partir do código-fonte)
- Ollama (opcional, para busca semântica) —
ollama pull nomic-embed-text
O MIE funciona sem Ollama. Você obtém busca por correspondência exata e travessia de grafo. Adicione Ollama para busca semântica ("encontre coisas relacionadas a deploy" em vez de palavras-chave exatas).
Uso com o CIE
O MIE combina naturalmente com o CIE (Code Intelligence Engine). Execute ambos como servidores MCP:
{
"mcpServers": {
"cie": { "command": "cie", "args": ["--mcp"] },
"mie": { "command": "mie", "args": ["--mcp"] }
}
}
O CIE dá ao seu agente um entendimento profundo do seu código. O MIE dá a ele memória de todo o resto — decisões, arquitetura, pessoas, eventos. Juntos, seu agente conhece seu código e lembra por que ele foi construído dessa forma.
Roadmap
- Importar de ADRs, markdown e histórico do git (auto-importação orientada por agente)
- Hook pós-commit do git — captura automática de decisões a partir de commits
- Extensão de navegador — captura automática de conhecimento de claude.ai, chatgpt.com, gemini
- MIE Cloud — sincronização entre dispositivos, memória compartilhada de equipe
- Integração com ChatGPT via custom GPT Actions
- Interface web para explorar e gerenciar seu grafo de conhecimento
Entre na lista de espera: kraklabs.com/mie
Licença
O MIE tem licença dupla:
- AGPL-3.0 — Gratuito para uso em código aberto
- Licença Comercial — Para uso proprietário. Contato: sales@kraklabs.com
Contribuindo
Aceitamos contribuições. Veja contributing.md para diretrizes.