microsoft / microsoft/semantic-kernel
.Net: Feature: Mimir as a Semantic Kernel memory connector (offline, encrypted, single-binary, cross-platform)
@alliscode is already working on this.
Since Aug 13, 2026.
- 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
- IMemoryStore interface maps cleanly to Mimir's CRUD operations
- Hybrid search (BM25 + vectors) gives better retrieval than pure vector search alone
- Offline-first — no Azure/AWS/GCP dependency. Works on dev laptops, factory floors, IoT
- Encryption at rest — enterprise requirement that most other memory stores don't meet
- MCP-native — Semantic Kernel supports MCP plugins; Mimir tools are immediately available
- .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
- Repo: Perseus-Computing-LLC/mimir
- License: MIT
- Cross-platform Rust binary (Linux, macOS, Windows)
Would a PR implementing Mimir as an IMemoryStore connector be welcome?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.