Cross-Provider Migration
Move your memories out of other providers and into Mnemosyne with a single command.
Mnemosyne v2.8 ships importers for 7 major memory providers. Each importer handles extraction, field mapping, and data import end to end. You don't need to write export scripts or manually map fields.
Supported Providers
| Provider | Import Via | CLI Flag |
|---|---|---|
| Mem0 | SDK or REST API | --from mem0 --api-key sk-xxx |
| Letta | SDK, .af file, or REST | --from letta --agent-file-path ./agent.af |
| Zep | SDK (per-session extraction) | --from zep --api-key sk-xxx |
| Cognee | SDK (Kuzu graph export) | --from cognee |
| Honcho | SDK (Workspace/Peer/Session/Message model) | --from honcho |
| SuperMemory | REST API | --from supermemory --api-key sk-xxx |
| Hindsight | JSON export file | --from hindsight --file ./export.json |
For providers that do not expose a clean API, there is an agentic fallback. Mnemosyne generates the exact migration script or AI agent prompt you need.
Quick Start
# Import from Mem0
hermes mnemosyne import --from mem0 --api-key sk-xxx
# Dry run first (validate but don't write)
hermes mnemosyne import --from mem0 --api-key sk-xxx --dry-run
# Import from a JSON export file
hermes mnemosyne import --input ./export.json
# List all supported providers
hermes mnemosyne import --list-providers
How It Works
Every importer follows the same pipeline:
- Extract — Pull all memories from the source provider (SDK, REST API, or file)
- Validate — Check that extracted data has the required fields
- Transform — Map provider-specific fields to Mnemosyne's format
- Import — Write into working memory with identity metadata preserved
All metadata, timestamps, user/agent identity, and original IDs are preserved in the import.
Identity Preservation
Imported memories keep their original author identity:
- Mem0:
user_idandagent_idbecomeauthor_id - Letta: agent identity from
.afmetadata - Zep:
user_idfrom session owner - Cognee: node labels and relationships map to triples
You can override the session or assign everything to a channel:
hermes mnemosyne import --from mem0 --api-key sk-xxx \
--channel-id my-team-channel
Agentic Fallback
For providers without a clean API, or when you cannot install the source SDK:
# Generate a migration script
hermes mnemosyne import --from zep --generate-script
# Generate AI agent instructions (give these to your AI)
hermes mnemosyne import --from zep --agentic
# Save the generated script to a file
hermes mnemosyne import --from zep --output-script ./migrate_zep.py
Per-Provider Guides
- From Mem0 — Cloud + self-hosted, SDK pagination
- From Letta — AgentFile, SDK, offline
- From Zep — Session-by-session, temporal graph
Mnemosyne