🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

mif-tools

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mif-tools

MIF (Memory Interchange Format) — vendor-neutral memory portability for AI agents

pipPyPI
Version
0.2.2
Weekly downloads
19
Maintainers
1

mif-tools

Vendor-neutral memory portability for AI agents. Convert between memory formats (mem0, markdown, generic JSON) and the Memory Interchange Format (MIF).

Install

pip install mif-tools

# With schema validation support:
pip install mif-tools[validate]

CLI

# Convert mem0 export to MIF
mif convert memories.json --from mem0 --to shodh -o memories.mif.json

# Convert with auto-detection
mif convert memories.json -o output.mif.json

# Convert MIF to markdown
mif convert memories.mif.json --to markdown -o memories.md

# Validate MIF document
mif validate memories.mif.json

# Inspect any memory file
mif inspect memories.json

# List available formats
mif formats

Python API

from mif import load, dump, convert, MifDocument, Memory

# Load from any format (auto-detects)
doc = load(open("mem0_export.json").read())
print(f"{len(doc.memories)} memories loaded")

# Access memories
for mem in doc.memories:
    print(f"[{mem.memory_type}] {mem.content}")

# Convert between formats
markdown = dump(doc, format="markdown")
mif_json = dump(doc, format="shodh")

# One-liner conversion
result = convert(input_data, from_format="mem0", to_format="shodh")

# Create from scratch
doc = MifDocument(memories=[
    Memory(
        id="123e4567-e89b-12d3-a456-426614174000",
        content="User prefers dark mode",
        created_at="2026-01-15T10:30:00Z",
        memory_type="observation",
        tags=["preferences", "ui"],
    )
])
print(dump(doc))

# Validate
from mif import validate
is_valid, errors = validate(mif_json)

Supported Formats

FormatIDDescription
MIF v2 (Shodh)shodhNative MIF v2 JSON, lossless round-trip
mem0mem0mem0 JSON array ([{"memory": "..."}])
Generic JSONgenericJSON array with content field
MarkdownmarkdownYAML frontmatter blocks (Letta/Obsidian style)

MCP Integration

Any MCP memory server can add MIF support:

from mif import load, dump

# In your export_memories tool handler:
def handle_export(user_id: str) -> str:
    memories = my_storage.get_all(user_id)
    return dump(memories)

# In your import_memories tool handler:
def handle_import(data: str) -> dict:
    doc = load(data)  # auto-detects mem0, markdown, generic, MIF
    imported = 0
    for mem in doc.memories:
        my_storage.save(mem.id, mem.content, mem.created_at)
        imported += 1
    return {"memories_imported": imported}

License

Apache 2.0

Keywords

ai

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts