microsoft / microsoft/semantic-kernel

.Net: Feature: Mimir as a Semantic Kernel memory connector (offline, encrypted, single-binary, cross-platform)

Open
#14,098 1 comment 0 reactions 1 assignee View on GitHub

@alliscode is already working on this.

Since Aug 13, 2026.

.NET python triage
Dominant language
C#
Stars
28.6k
Forks
4.8k
Avg merge
14h 13m
Merged PRs (30d)
18

Description

Feature request: Mimir as a Semantic Kernel memory connector

Problem

Semantic Kernel's memory system (ISemanticTextMemory, IMemoryStore) currently supports vector DBs (Azure AI Search, Chroma, Pinecone, Qdrant, etc.) but lacks an offline, single-binary, zero-infrastructure option for local development, desktop apps, and edge deployments.

Proposed solution

Add Mimir as an IMemoryStore implementation — a single Rust binary (~8MB) with embedded SQLite + FTS5 + vector search + AES-256 encryption.

Mimir is an MIT-licensed, MCP-native persistent memory engine for AI agents. Single Rust binary (~8MB), zero runtime dependencies.

Key features:

  • 29 MCP tools — full memory lifecycle: remember, recall (FTS5), search (semantic), forget, decay, embed, cohere, vault export/import, journal, timeline
  • Hybrid search — BM25 (FTS5) + dense embeddings + Reciprocal Rank Fusion
  • AES-256-GCM encryption at rest
  • Confidence decay — Ebbinghaus-based, auto-archives stale memories
  • Web dashboard for browsing/editing memories
  • Single binary — no Docker, Postgres, or cloud required
  • MIT licensed — no restrictions
Why Mimir for Semantic Kernel
  1. IMemoryStore interface maps cleanly to Mimir's CRUD operations
  2. Hybrid search (BM25 + vectors) gives better retrieval than pure vector search alone
  3. Offline-first — no Azure/AWS/GCP dependency. Works on dev laptops, factory floors, IoT
  4. Encryption at rest — enterprise requirement that most other memory stores don't meet
  5. MCP-native — Semantic Kernel supports MCP plugins; Mimir tools are immediately available
  6. .NET-friendly — Mimir is invoked as a subprocess via MCP stdio, language-agnostic
Integration (Python example)
from semantic_kernel.memory import SemanticTextMemory
from mimir_memory_store import MimirMemoryStore  # IMemoryStore implementation

store = MimirMemoryStore(db_path="./kernel_memory.db")
memory = SemanticTextMemory(storage=store, embeddings_generator=embedding_service)

await memory.save_information("user", "prefers dark mode", "pref-001")
results = await memory.search("user", "mode preference")  # Survives restarts
Status

Would a PR implementing Mimir as an IMemoryStore connector be welcome?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.