MegaMemory – trwały graf wiedzy o projekcie dla agentów kodujących

Czym jest i do czego służy ?

MegaMemory to serwer MCP (Model Context Protocol), który pozwala agentowi kodującemu budować i odpytywać graf pojęć, architektury oraz decyzji projektowych. Dzięki temu agent pamięta kontekst między sesjami – zamiast za każdym razem zaczynać od zera.

Podejście jest nietypowe: to nie parser AST ani statyczna analiza kodu indeksuje projekt. Indekserem jest sam LLM. Agent czyta kod, zapisuje pojęcia własnymi słowami i odpyta je przed kolejnymi zadaniami. Graf przechowuje pojęcia – funkcje, moduły, wzorce, decyzje – a nie symbole kodu.

Całość utrwala się w bazie SQLite dla danego projektu, w pliku .megamemory/knowledge.db.

Pętla pracy wygląda tak: understand → work → update.

  1. Start sesji – agent wywołuje list_roots, aby się zorientować.
  2. Przed zadaniem – agent wywołuje understand z zapytaniem w języku naturalnym (albo get_concept do wyszukania po dokładnym ID).
  3. Po zadaniu – agent wywołuje create_concept lub update_concept, aby zapisać, co zbudował.

Kluczowe funkcjonalności

  • Serwer MCP z zestawem narzędzi: understand, get_concept, create_concept, update_concept, link, remove_concept, list_roots, list_conflicts, resolve_conflict.
  • Wyszukiwanie semantyczne po grafie wiedzy – understand zwraca dopasowane pojęcia wraz z dziećmi, krawędziami i kontekstem rodzica.
  • Embeddingi w procesie – model all-MiniLM-L6-v2 (ONNX, kwantyzowany, 384 wymiary). Bez kluczy API i bez połączeń sieciowych po pierwszym pobraniu modelu (~23 MB).
  • Trwałość w SQLite – tryb WAL, historia miękkiego usuwania, migracje schematu (obecnie v3).
  • Web Explorer – wizualizacja grafu w przeglądarce. Węzły są kolorowane według rodzaju i skalowane liczbą krawędzi; krawędzie przerywane to relacje rodzic–dziecko, ciągłe to zwykłe relacje. Kliknięcie węzła pokazuje podsumowanie, pliki i krawędzie, a wyszukiwanie obsługuje filtr podświetlania/przygaszania.
  • Scalanie grafów wiedzy – dedykowane polecenia merge, conflicts i resolve, ponieważ plików SQLite nie da się automatycznie scalić przez git.
  • Rozwiązywanie konfliktów z pomocą AI – agent nie wybiera strony bezrefleksyjnie, lecz weryfikuje obie wersje względem aktualnego kodu i wywołuje resolve_conflict z potwierdzoną treścią.
  • Rodzaje pojęć: feature, module, pattern, config, decision, component.
  • Typy relacji: connects_to, depends_on, implements, calls, configured_by.

Instrukcja instalacji (Linux, macOS, Windows).

Wymagany jest Node.js >= 18.

Instalacja globalna:

npm install -g megamemory

Następnie uruchom interaktywny instalator i wybierz swojego edytora:

megamemory install

Instalator aktualizuje pliki konfiguracyjne dopiero po udanym odczycie i scaleniu, a istniejących plików pluginów/poleceń nie nadpisuje, o ile nie są już oznaczone jako zarządzane przez MegaMemory.

Instalacja dla konkretnego celu:

megamemory install --target opencode
megamemory install --target claudecode
megamemory install --target antigravity
megamemory install --target codex

Dla opencode jedno polecenie konfiguruje serwer MCP w ~/.config/opencode/opencode.json, instrukcje workflow w ~/.config/opencode/AGENTS.md, plugin narzędzia w ~/.config/opencode/tool/megamemory.ts oraz polecenia /user:bootstrap-memory i /user:save-memory. Po instalacji zrestartuj opencode.

Dla Claude Code konfigurowany jest serwer MCP w ~/.claude.json, instrukcje w ~/.claude/CLAUDE.md oraz polecenia w ~/.claude/commands/.

Dla Antigravity serwer MCP trafia do ./mcp_config.json na poziomie workspace.

Dla Codex konfigurowany jest serwer MCP w ~/.codex/config.toml oraz instrukcje w ~/.codex/AGENTS.md.

Z innymi klientami MCP dodaj megamemory jako serwer stdio. Polecenie to po prostu megamemory (bez argumentów). Odczyt i zapis odbywa się względem .megamemory/knowledge.db w katalogu roboczym; ścieżkę można nadpisać zmienną MEGAMEMORY_DB_PATH.

{
  "megamemory": {
    "type": "local",
    "command": ["megamemory"],
    "enabled": true
  }
}

Przydatne polecenia CLI:

megamemory serve
megamemory serve --port 8080
megamemory merge main.db feature.db --into merged.db
megamemory conflicts
megamemory resolve <merge-group-uuid> --keep left

Link do Repozytorium

https://github.com/0xK3vin/MegaMemory