Sandbox
@0xK3vin/MegaMemory

MCP server for persistent project memory

MegaMemory gives an agent a project knowledge graph it can query before work and update after work. It uses semantic search over concept nodes, in-process embeddings, and SQLite storage to keep context available across sessions. It plugs into MCP clients like Claude Code and Codex, and it can also be served in a browser as a graph explorer. The repo includes install automation, merge commands for diverged databases, and command files for bootstrapping and saving memory.

551 stars50 forksTypeScriptUpdated 4mo ago
Who it's for

Builders who want their agent to keep project context, search past decisions, and write updates back into a shared memory graph.

What it delivers

You can resume work with remembered concepts, relationships, and decisions instead of re-explaining the project each time.

What it does

Semantic project search

The `understand` tool searches the knowledge graph by natural language and returns matching concepts with context.

Concept storage and updates

The `create_concept`, `update_concept`, `link`, and `remove_concept` tools let the agent record what it learned or built.

Persistent SQLite memory

Project knowledge is saved in `.megamemory/knowledge.db` with history, soft deletes, and schema migrations.

In-process embeddings

Embeddings run locally with `Xenova/all-MiniLM-L6-v2`, so the server does not need an API key.

Graph merge workflow

The `merge`, `conflicts`, and `resolve` commands help combine knowledge databases when branches diverge.

Web graph explorer

`megamemory serve` opens a browser view for browsing nodes, edges, and search results.

Editor and client setup

`megamemory install` writes the MCP and workflow files needed for supported clients and editors.

How to get it

  1. 1Run
    npm install -g megamemory
  2. 2Run
    megamemory install
  3. 3Run
    megamemory install --target opencode
  4. 4Run
    megamemory install --target claudecode
  5. 5Run
    megamemory install --target antigravity
  6. 6Run
    megamemory install --target codex

README

MegaMemory

Persistent project knowledge graph for coding agents.

npm license node npm downloads Twitter Follow

MegaMemory web explorer


An MCP server that lets your coding agent build and query a graph of concepts, architecture, and decisions — so it remembers across sessions.

The LLM is the indexer. No AST parsing. No static analysis. Your agent reads code, writes concepts in its own words, and queries them before future tasks. The graph stores concepts — features, modules, patterns, decisions — not code symbols.

The Loop

How MegaMemory works

understand → work → update

  1. Session start — agent calls list_roots to orient itself
  2. Before a task — agent calls understand with a natural language query (or get_concept for exact ID lookup)
  3. After a task — agent calls create_concept or update_concept to record what it built

Everything persists in a per-project SQLite database at .megamemory/knowledge.db.


Installation

npm install -g megamemory

[!NOTE] Requires Node.js >= 18. The embedding model (~23MB) downloads automatically on first use.

Quick Start

megamemory install

Run the interactive installer and choose your editor:

[!NOTE] The installer only updates config files after a successful read/merge, and it will not overwrite existing plugin/command files unless they are already marked as MegaMemory-managed.

With opencode

megamemory install --target opencode

One command configures:

  • MCP server in ~/.config/opencode/opencode.json
  • Workflow instructions in ~/.config/opencode/AGENTS.md
  • Skill tool plugin at ~/.config/opencode/tool/megamemory.ts
  • Bootstrap command /user:bootstrap-memory for initial graph population
  • Save command /user:save-memory to persist session knowledge

Restart opencode after running install.

With Claude Code

megamemory install --target claudecode

Configures:

  • MCP server in ~/.claude.json
  • Workflow instructions in ~/.claude/CLAUDE.md
  • Commands in ~/.claude/commands/

With Antigravity

megamemory install --target antigravity

Configures:

  • MCP server in ./mcp_config.json (workspace-level)

With Codex

megamemory install --target codex

Configures:

  • MCP server in ~/.codex/config.toml
  • Workflow instructions in ~/.codex/AGENTS.md

With other MCP clients

Add megamemory as a stdio MCP server. The command is just megamemory (no arguments). It reads/writes .megamemory/knowledge.db relative to the working directory, or set MEGAMEMORY_DB_PATH to override.

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

MCP Tools

ToolDescription
understandSemantic search over the knowledge graph. Returns matched concepts with children, edges, and parent context.
get_conceptLook up a concept by its exact ID. Returns full context including children, edges, incoming edges, and parent.
create_conceptAdd a new concept with optional edges and file references.
update_conceptUpdate fields on an existing concept. Regenerates embeddings automatically.
linkCreate a typed relationship between two concepts.
remove_conceptSoft-delete a concept with a reason. History preserved.
list_rootsList all top-level concepts with direct children.
list_conflictsList unresolved merge conflicts grouped by merge group.
resolve_conflictResolve a merge conflict by providing verified, correct content based on the current codebase.

Concept kinds: feature · module · pattern · config · decision · component

Relationship types: connects_to · depends_on · implements · calls · configured_by

Knowledge Graph

MegaMemory knowledge graph example


Web Explorer

Visualize the knowledge graph in your browser:

megamemory serve
  • Nodes are colored by kind and sized by edge count
  • Dashed edges show parent-child links; solid edges show relationships
  • Click any node to inspect summary, files, and edges
  • Search supports highlight/dim filtering
  • If port 4321 is taken, you'll be prompted to pick another
megamemory serve --port 8080   # custom port

How It Works

MegaMemory architecture diagram

src/
  index.ts       CLI entry + MCP server (9 tools)
  tools.ts       Tool handlers (understand, get_concept, create, update, link, remove, list_conflicts, resolve_conflict)
  db.ts          SQLite persistence (libsql, WAL mode, schema v3)
  embeddings.ts  In-process embeddings (all-MiniLM-L6-v2, 384 dims)
  merge.ts       Two-way merge engine for knowledge.db files
  merge-cli.ts   CLI handlers for merge, conflicts, resolve commands
  types.ts       TypeScript types
  cli-utils.ts   Colored output + interactive prompts
  install.ts     multi-target installer (opencode, Claude Code, Antigravity, Codex)
  web.ts         HTTP server for graph explorer
plugin/
  megamemory.ts  Opencode skill tool plugin
commands/
  bootstrap-memory.md  /user command for initial population
  save-memory.md       /user command to save session knowledge
web/
  index.html     Single-file graph visualization (d3-force + Canvas)
  • Embeddings — In-process via Xenova/all-MiniLM-L6-v2 (ONNX, quantized). No API keys, and no network calls after the first model download.
  • Storage — SQLite with WAL mode, soft-delete history, and schema migrations (currently v3).
  • Search — Brute-force cosine similarity over node embeddings; fast enough for graphs with <10k nodes.
  • Merge — Two-way merge with conflict detection by concept ID, with AI-assisted conflict resolution via MCP tools.

CLI Commands

CommandDescription
megamemoryStart the MCP stdio server
megamemory installConfigure editor/agent integration
megamemory serveLaunch the web graph explorer
megamemory mergeMerge two knowledge.db files
megamemory conflictsList unresolved merge conflicts
megamemory resolveResolve a merge conflict
megamemory --helpShow help
megamemory --versionShow version

Merging Knowledge Graphs

When branches diverge, each may update .megamemory/knowledge.db independently. Since SQLite files cannot be auto-merged by git, megamemory provides dedicated merge commands.

Merge two databases

megamemory merge main.db feature.db --into merged.db

Concepts are compared by ID: identical nodes are deduplicated, and conflicting nodes are kept as ::left/::right variants under one merge group UUID. Use --left-label and --right-label to replace default side labels with branch names.

megamemory merge main.db feature.db --into merged.db --left-label main --right-label feature-xyz

View conflicts

megamemory conflicts            # human-readable summary
megamemory conflicts --json     # machine-readable output
megamemory conflicts --db path  # specify database path

Resolve conflicts manually

megamemory resolve <merge-group-uuid> --keep left    # keep the left version
megamemory resolve <merge-group-uuid> --keep right   # keep the right version
megamemory resolve <merge-group-uuid> --keep both    # keep both as separate concepts

AI-assisted resolution

When an AI agent runs /merge, it calls list_conflicts, verifies both versions against current source files, then calls resolve_conflict with resolved: {summary, why?, file_refs?} plus a verification reason. It does not pick a side blindly; it resolves to what the codebase currently reflects.


License

MIT

Files in the repo

Repository payload15 top-level entries
  • .github
  • assets
  • commands
  • debug
  • plugin
  • scripts
  • src
  • web
  • .gitignore
  • CHANGELOG.md
  • LICENSE
  • package-lock.json
  • package.json
  • README.md
  • tsconfig.json

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k