Mif Tools

io.github.varun29ankuS由 GitHub 帳號 varun29ankuS 發布v0.2.1更新於 Oct 24, 2026

Convert, validate, and inspect AI agent memories across formats

已驗證STDIO僅桌面知識與記憶AI 與機器學習

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理以廠商中立的 MIF 格式匯出、匯入、驗證和檢視 AI 代理記憶。

可以做什麼
將記憶匯出為 MIF JSON 封裝格式,並可再匯入,自動辨識 mem0、CrewAI、LangChain、通用 JSON 和 Markdown 格式。驗證記憶文件,包括對 UUID、參照、時間戳和嵌入維度的深度檢查。檢視記憶檔案並列出支援的格式。往返轉換時保留記憶類型、標籤、實體、嵌入、知識圖譜和廠商擴充等選用資料。
適用情境
適合在不同系統或服務商之間搬移代理記憶,或在搬移前讓助理檢查和審閱記憶匯出檔案。
執行需求
以本機程序透過 stdio 執行;需安裝含 MCP 擴充的 Python 套件,並以 mif mcp 指令啟動。未宣告需要帳號、API 金鑰或環境變數。
安裝前請注意
記憶檔案可能包含個人或敏感內容,此格式提到 PII 偵測與去識別化標記。匯入會將記憶寫入目標儲存,搬移前應先審閱匯出內容。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mif Tools,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Memory Interchange Format (MIF)

[PyPI] [npm] [License] [Tests] [Docs]

Your AI agent has 6 months of memories in System A. You want to try System B. Without MIF, you lose everything. With MIF:

bash
pip install mif-toolsmif convert mem0_export.json --to shodh -o memories.mif.json

Done. 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.

json
{  "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.

Install

bash
# Pythonpip install mif-tools              # core (zero dependencies)pip install mif-tools[validate]    # with JSON Schema validationpip install mif-tools[mcp]         # with MCP server
# Node.js / TypeScriptnpm install @varunshodh/mif-tools

Convert Between Formats

bash
# mem0 → MIFmif 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 formatmif convert any_memory_file.json -o output.mif.json
# Inspect any memory filemif inspect memories.json
# Validate MIF documentmif validate memories.mif.json

Python API

python
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 linemarkdown = convert(data, from_format="mem0", to_format="markdown")
# Create memories from scratchdoc = 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_deepok, warnings = validate_deep(open("export.mif.json").read())

Add MIF to Your MCP Server (10 lines)

python
from mif import load, dump
# Export handlerdef export_memories(user_id: str) -> str:    memories = my_storage.get_all(user_id)    return dump(memories)
# Import handler — auto-detects mem0, markdown, generic JSON, MIFdef 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

FormatIDAuto-detectDescription
MIF v2shodh"mif_version" in JSONNative format, lossless round-trip
mem0mem0JSON array with "memory" fieldmem0 memory exports
CrewAIcrewaiJSON array with "task_description"CrewAI LTMSQLiteStorage exports
LangChainlangchainJSON array with "namespace" + "value"LangChain/LangMem Item format
Generic JSONgenericJSON array with "content" fieldAny JSON memory array
MarkdownmarkdownStarts 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 types
  • Entity 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:

bash
pip install mif-tools[mcp]mif mcp

Tools: export_memories, import_memories, validate_memories, inspect_memories, list_formats

Adapters & Implementations

SystemStatusType
shodh-memoryProductionBuilt-in HTTP API (/api/export/mif, /api/import/mif)
mif-tools (PyPI)ProductionPython package with CLI + MCP server
@varunshodh/mif-tools (npm)ProductionTypeScript/Node.js package with CLI
mem0Adapter readyPython + npm
CrewAIAdapter readyPython + npm
LangChainAdapter readyPython + npm
Generic JSONAdapter readyPython + npm
Markdown (YAML frontmatter)Adapter readyPython + npm

Design Principles

  1. Minimal — 3 required fields. Everything else is optional.
  2. Extensible — Unknown fields and vendor extensions MUST be preserved on round-trip.
  3. Vendor-neutral — The schema doesn't favor any implementation.
  4. Forward-compatible — Importers MUST ignore unknown fields.

Contributing

We welcome adapter implementations for any memory system. See CONTRIBUTING.md.

Related

License

Apache 2.0

來源:README.md,提交 2162e8e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分