From Mem0

Import all memories from Mem0 into Mnemosyne. Supports cloud-hosted Mem0 Platform, self-hosted Mem0 OSS, and offline export files.

One Command

hermes mnemosyne import --from mem0 --api-key sk-xxx

That's it. The importer handles pagination across all users, extracts every memory, and preserves identity metadata.

What Gets Imported

  • Working memories: Every memory object from Mem0
  • User/Agent identity: user_idauthor_id (type: human), agent_idauthor_id (type: agent)
  • App scoping: app_idchannel_id
  • Metadata: Original Mem0 fields (_mem0_id, _mem0_hash, _mem0_run_id) preserved in metadata
  • Categories: Mem0 category tags stored in _mem0_categories
  • Timestamps: created_at preserved as imported_at_original

Options

# Filter by specific user
hermes mnemosyne import --from mem0 --api-key sk-xxx --user-id alice

# Filter by agent
hermes mnemosyne import --from mem0 --api-key sk-xxx --agent-id agent-123

# Assign to a channel
hermes mnemosyne import --from mem0 --api-key sk-xxx --channel-id my-team

# Self-hosted Mem0 OSS
hermes mnemosyne import --from mem0 --base-url http://localhost:8000

# Dry run (validate, no writes)
hermes mnemosyne import --from mem0 --api-key sk-xxx --dry-run

Extraction Methods

The Mem0 importer tries three extraction methods in order:

  1. Python SDK (pip install mem0ai) — Uses client.get_all() with pagination. Best coverage.
  2. REST API — Fetches all memories from the Mem0 HTTP API. Works for OSS self-hosted.
  3. Structured Export — Uses Mem0 Platform's create_memory_export() for guided extraction.

If no method works, the importer returns clear error messages telling you what to install or configure.

SDK Dependencies

Install the Mem0 SDK if you want the best extraction coverage:

pip install mem0ai

Or let the importer fall back to REST. Both work.

Identity Mapping

Mem0 FieldMnemosyne Field
memorycontent
user_idauthor_id (mem0_user:{user_id})
agent_idauthor_id (mem0_agent:{agent_id})
app_idchannel_id
created_atPreserved in metadata
metadataMerged into Mnemosyne metadata
categoriesStored as _mem0_categories
run_idStored as _mem0_run_id

Programmatic Import

Use the Python SDK directly if you prefer:

from mnemosyne import Mnemosyne
from mnemosyne.core.importers import import_from_mem0

mnemosyne = Mnemosyne(session_id="migration")

result = import_from_mem0(
    api_key="sk-xxx",
    mnemosyne=mnemosyne,
    user_id="alice",           # optional filter
    dry_run=True,              # try True first
)

print(f"Imported {result.imported} of {result.total}")
print(f"Failed: {result.failed}")