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_id→author_id(type: human),agent_id→author_id(type: agent) - App scoping:
app_id→channel_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_atpreserved asimported_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:
- Python SDK (
pip install mem0ai) — Usesclient.get_all()with pagination. Best coverage. - REST API — Fetches all memories from the Mem0 HTTP API. Works for OSS self-hosted.
- 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 Field | Mnemosyne Field |
|---|---|
memory | content |
user_id | author_id (mem0_user:{user_id}) |
agent_id | author_id (mem0_agent:{agent_id}) |
app_id | channel_id |
created_at | Preserved in metadata |
metadata | Merged into Mnemosyne metadata |
categories | Stored as _mem0_categories |
run_id | Stored 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}")
Mnemosyne