MAGNEMO

Magnemo vs Mem0 / OpenMemory

Magnemo 0.6.7Mem0 / OpenMemory, from their docs
Where memory lives

Your memory lives on your computer, in plain files you can open.

IN THE TREE: test_the_network_line_passes_on_the_package_and_fails_on_a_planted_import · test_free_tier_stdlib_only

Both. Platform: "Run and tuned by Mem0". OSS library: "Local Qdrant at /tmp/qdrant", history in "SQLite at ~/.mem0/history.db". Self-hosted server: "Postgres + pgvector".

[2][3]

Who writes an entry

The only write verb. Lands in _staging/ as a memory candidate; never touches canon.

IN THE TREE: test_lists_exactly_four_tools · test_promotion_is_not_a_tool · test_the_author_is_the_seat_and_a_keyholder_claim_is_refused

The LLM extracts: "Mem0 sends the messages through an LLM that pulls out key facts, decisions, or preferences to remember." Via MCP the agent decides: "so it can decide for itself when to save something". With infer=False, stores the payload as given.

[4][5]

What is kept without your yes

Agent writes NEVER reach canonical stores directly — staging only, always.

IN THE TREE: test_staging_is_the_only_note_write_path · test_retrieve_excludes_staged

not stated in their docs (read 2026-10-02). Docs only say "anything the agent saved appears there" in the dashboard, which is after the fact.

[5]

What an entry carries (who, when, approved)

Every note is markdown with provenance frontmatter (author, written, source, status, reviewed_by, supersedes, strength).

IN THE TREE: test_stage_lands_in_staging_with_provenance_and_salience · test_paperless_and_malformed_notes_refused · governance.promote

Fields: id, memory, user_id, metadata, categories, created_at, updated_at. Scope ids: "user_id, agent_id, app_id, or run_id". Author and source lineage: not stated in their docs (read 2026-10-02).

[4][6]

Portable across clients

Anything that speaks MCP over stdio mounts the same way.

IN THE TREE: test_connect_and_list_over_stdio

MCP clients: "Claude, Claude Code, Codex, Cursor, Windsurf, VS Code, OpenCode". Export: "structured format using customizable Pydantic schemas" via create_memory_export() (Platform).

[5][7]

License

Python 3.11+, zero dependencies, Apache-2.0.

IN THE TREE: LICENSE

"Apache-2.0"

[1]

OpenMemory: the mem0ai/mem0 README does not mention it, openmemory/README.md on main returned 404, and docs.mem0.ai/openmemory/* served the generic docs homepage. All OpenMemory-specific cells are "not stated in their docs (read 2026-10-02)". Cells below describe Mem0 Platform, Mem0 OSS and the Mem0 MCP server.

THEIR PAGES, READ 2026-10-02. EVERY PHRASE IN QUOTATION MARKS WAS FOUND ON ONE OF THEM, CHECKED 2026-10-02.

  1. https://github.com/mem0ai/mem0
  2. https://docs.mem0.ai/platform/platform-vs-oss
  3. https://docs.mem0.ai/open-source/overview
  4. https://docs.mem0.ai/core-concepts/memory-operations/add
  5. https://docs.mem0.ai/platform/mem0-mcp
  6. https://docs.mem0.ai/platform/features/direct-import
  7. https://docs.mem0.ai/platform/features/memory-export

Corrections welcome: open an issue.