MIF MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MIF MCP Serverconvert my mem0 export to MIF format"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Memory Interchange Format (MIF)
Your AI agent has 6 months of memories in System A. You want to try System B. Without MIF, you lose everything. With MIF:
pip install mif-tools
mif convert mem0_export.json --to shodh -o memories.mif.jsonDone. Your memories are portable.
What is MIF?
A vendor-neutral JSON envelope for AI agent memories. Like vCard for contacts or iCalendar for events — a minimal schema so memories move between providers without data loss.
3 required fields. That's it.
{
"mif_version": "2.0",
"memories": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"content": "User prefers dark mode across all applications",
"created_at": "2026-01-15T10:30:00Z"
}
]
}Everything else — memory types, tags, entities, embeddings, knowledge graph, vendor extensions — is optional. Add what you have, ignore what you don't.
Related MCP server: Mnemo
Install
# Python
pip install mif-tools # core (zero dependencies)
pip install mif-tools[validate] # with JSON Schema validation
pip install mif-tools[mcp] # with MCP server
# Node.js / TypeScript
npm install @varunshodh/mif-toolsConvert Between Formats
# mem0 → MIF
mif convert mem0_export.json --from mem0 -o memories.mif.json
# MIF → Markdown (Obsidian/Letta style)
mif convert memories.mif.json --to markdown -o memories.md
# Auto-detect source format
mif convert any_memory_file.json -o output.mif.json
# Inspect any memory file
mif inspect memories.json
# Validate MIF document
mif validate memories.mif.jsonPython API
from mif import load, dump, convert, MifDocument, Memory
# Load from any format (auto-detects mem0, markdown, generic JSON, MIF)
doc = load(open("mem0_export.json").read())
print(f"{len(doc.memories)} memories loaded")
# Convert between formats in one line
markdown = convert(data, from_format="mem0", to_format="markdown")
# Create memories 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)) # MIF v2 JSON
# Deep validation (UUIDs, references, timestamps, embedding dimensions)
from mif import validate_deep
ok, warnings = validate_deep(open("export.mif.json").read())Add MIF to Your MCP Server (10 lines)
from mif import load, dump
# Export handler
def export_memories(user_id: str) -> str:
memories = my_storage.get_all(user_id)
return dump(memories)
# Import handler — auto-detects mem0, markdown, generic JSON, MIF
def import_memories(data: str) -> dict:
doc = load(data)
for mem in doc.memories:
my_storage.save(mem.id, mem.content, mem.created_at)
return {"memories_imported": len(doc.memories)}Supported Formats
Format | ID | Auto-detect | Description |
MIF v2 |
|
| Native format, lossless round-trip |
mem0 |
| JSON array with | mem0 memory exports |
CrewAI |
| JSON array with | CrewAI LTMSQLiteStorage exports |
LangChain |
| JSON array with | LangChain/LangMem Item format |
Generic JSON |
| JSON array with | Any JSON memory array |
Markdown |
| Starts with | YAML frontmatter (Letta/Obsidian style) |
Full Spec
MIF supports optional fields for rich memory data:
Memory types —
observation,decision,learning,error,context,conversation, and custom typesEntity references — named entities with type and confidence
Embeddings — model name, dimensions, vector (reuse or regenerate)
Knowledge graph — entities and relationships with confidence scores
Vendor extensions — system-specific metadata preserved on round-trip
Privacy — PII detection and redaction markers
Full specification: spec/mif-v2.md | JSON Schema: schema/mif-v2.schema.json
MCP Server
Expose MIF tools to any MCP-compatible AI client:
pip install mif-tools[mcp]
mif mcpTools: export_memories, import_memories, validate_memories, inspect_memories, list_formats
Adapters & Implementations
System | Status | Type |
Production | Built-in HTTP API ( | |
Production | Python package with CLI + MCP server | |
Production | TypeScript/Node.js package with CLI | |
mem0 | Adapter ready | Python + npm |
CrewAI | Adapter ready | Python + npm |
LangChain | Adapter ready | Python + npm |
Generic JSON | Adapter ready | Python + npm |
Markdown (YAML frontmatter) | Adapter ready | Python + npm |
Design Principles
Minimal — 3 required fields. Everything else is optional.
Extensible — Unknown fields and vendor extensions MUST be preserved on round-trip.
Vendor-neutral — The schema doesn't favor any implementation.
Forward-compatible — Importers MUST ignore unknown fields.
Contributing
We welcome adapter implementations for any memory system. See CONTRIBUTING.md.
Related
Documentation — Full docs site
MCP SEP #2342 — Original proposal to the Model Context Protocol
tower-mcp #531 — Tracking issue in tower-mcp
shodh-memory — Reference implementation (Rust)
mif-tools on PyPI — Python package
@varunshodh/mif-tools on npm — npm package
License
Apache 2.0
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage portable AI agent playbooks, Agent Skills, MCP configurations, personas, and memory.
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Private, portable memory and reusable skills for AI agents.
Full-control memory API for AI agents — memories, collections, links, search, and bulk operations.
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceEnables AI agents to capture, search, and manage structured memory from agent sessions with append-only events and provenance tracking, providing eight local MCP stdio tools.Apache 2.0- AlicenseAqualityCmaintenanceEnables AI agents to share a portable, user-level memory layer through MCP, allowing them to store, search, update, link, and consolidate facts with optional full-text and vector retrieval.79 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to maintain a persistent identity and structured memory—including reasoning patterns, episodic history, and knowledge—while exposing procedures for managing that memory over MCP.Apache 2.0

artificial-memoryofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to persist, recall, expand, trace, and inspect durable memories with provenance through MCP tools.MIT