MemPalace.NET
A .NET port of MemPalace — local-first AI memory that stores everything verbatim, searches semantically, and organizes knowledge through a wings / rooms / drawers hierarchy. No cloud calls by default, powered by ONNX embeddings.
🎯 Status: v0.15.2 — Production-ready with advanced E2E testing, comprehensive journey guides, and skill pattern library.
NuGet Packages
MemPalace.NET is published as a suite of focused libraries — install only what you need:
| Package | Description | NuGet |
|---|---|---|
mempalacenet |
CLI tool + meta-package (installs all) | |
MemPalace.Core |
Domain types, storage interfaces, PalaceRef | |
MemPalace.Backends.Sqlite |
SQLite backend with BLOB vectors + cosine similarity | |
MemPalace.Ai |
M.E.AI integration — ONNX, Ollama, OpenAI, Azure | |
MemPalace.Search |
Semantic, keyword & hybrid search with reranking | |
MemPalace.Mining |
Content ingestion: files, conversation transcripts | |
MemPalace.KnowledgeGraph |
Temporal entity-relationship graph with validity windows | |
MemPalace.Mcp |
Model Context Protocol server (Claude Desktop, VS Code) | |
MemPalace.Agents |
Microsoft Agent Framework integration + diaries | |
MemPalace.Diagnostics |
Health checks, metrics, and observability hooks |
Why MemPalace.NET?
- Local-first by default — ONNX embeddings via ElBruno.LocalEmbeddings (no API keys, no cloud calls)
- Microsoft.Extensions.AI — swap embedders and LLMs with zero lock-in
- Microsoft Agent Framework — each agent gets its own memory diary
- MCP server — expose your palace as Model Context Protocol tools (Claude Desktop, VS Code, etc.)
- Temporal knowledge graph — track entity relationships with validity windows
- SQLite backend — managed BLOB storage, cosine similarity, clear upgrade path to vector stores
Examples & Getting Started
Ready to dive in? Check out our runnable examples:
- 🔰 Simple Memory Agent — Core memory operations with semantic search
- 🕸️ Semantic Knowledge Graph — Temporal entity relationships
See examples/README.md for detailed walkthroughs and learning paths.
Quick Start
# Install the CLI tool
dotnet tool install -g mempalacenet --version 0.15.2
# Initialize a new palace
mempalacenet init ~/my-palace
# Mine project files
mempalacenet mine ~/my-code --wing work --mode files
# Mine conversation transcripts
mempalacenet mine ~/my-convos --wing personal --mode convos
# Semantic search
mempalacenet search "how do I handle auth errors?"
# Hybrid search with reranking
mempalacenet search "latest React patterns" --hybrid --rerank
# Start MCP server (for Claude Desktop, VS Code, etc.)
mempalacenet mcp --palace ~/my-palace
# Run an agent
mempalacenet agents run scribe --wing research --mode local
Architecture
MemPalace.NET is a modular .NET solution with clear separation of concerns:
| Project | Purpose |
|---|---|
| MemPalace.Core | Domain types, storage interfaces, PalaceRef value object |
| MemPalace.Backends.Sqlite | Default SQLite backend with BLOB vectors + cosine similarity |
| MemPalace.Ai | M.E.AI integration with ONNX (default), Ollama, OpenAI support |
| MemPalace.Mining | Content ingestion: filesystem miner + conversation transcript miner |
| MemPalace.Search | Semantic, keyword, and hybrid search with optional LLM reranking |
| MemPalace.KnowledgeGraph | Temporal entity-relationship graph with validity windows |
| MemPalace.Mcp | Model Context Protocol server (7 tools in v0.1) |
| MemPalace.Agents | Microsoft Agent Framework integration + per-agent diaries |
| MemPalace.Cli | Spectre.Console CLI (mempalacenet command) |
| MemPalace.Benchmarks | LongMemEval / LoCoMo / ConvoMem benchmarks + R@5 testing |
Documentation
Full documentation lives in docs/:
- Architecture — solution layout, component contracts, dependency graph
- Concepts — wings, rooms, drawers, verbatim storage, embedder identity
- Backends — writing custom backends, conformance tests
- AI Integration — embedder selection, reranking, M.E.AI seams
- Mining — ingestion pipeline, custom miners, .gitignore respect
- Search — semantic vs hybrid strategies, RRF fusion, temporal boosting
- Knowledge Graph — temporal triples, pattern queries, invalidation
- MCP Server — tool reference, VS Code / Claude Desktop setup
- Agents — Agent Framework integration, diary management, agent discovery
- CLI — command reference, configuration, examples
- Benchmarks — reproducibility, dataset sources, R@5 parity
- GitHub Copilot Skill — integration guide, pattern library, code generation hints
Building Custom Integrations
Integrating MemPalace.NET into your .NET projects? Start with our developer guides:
- C# Library Developer Guide — Build applications on MemPalace.NET
- Embedder Pluggability Guide — Swap or implement custom embedders
- Skill Integration Deep Dive — Extend the platform with reusable skills
Development
# Clone
git clone https://github.com/elbruno/mempalacenet
cd mempalacenet
# Build
dotnet build src/
# Test (129 tests, all green)
dotnet test src/
# Pack NuGet packages
dotnet pack src/ -c Release
Roadmap
v0.1.0 (current) ships core memory operations, search, MCP server, and agents.
Post-v0.1:
- Upgrade to sqlite-vec or Qdrant for >100K vectors
- BM25 keyword search (currently token overlap)
- LongMemEval R@5 parity validation (target ≥ 91%)
- Conversation context summaries (
mempalace wake-up)
Credits
- Original project: MemPalace (Python)
- Default embedder: ElBruno.LocalEmbeddings (ONNX)
License
MIT — same spirit as the original MemPalace.
👋 About the Author
Hi! I'm ElBruno 🧡, a passionate developer and content creator exploring AI, .NET, and modern development practices.
Made with ❤️ by ElBruno
If you like this project, consider following my work across platforms:
- 📻 Podcast: No Tienen Nombre — Spanish-language episodes on AI, development, and tech culture
- 💻 Blog: ElBruno.com — Deep dives on embeddings, RAG, .NET, and local AI
- 📺 YouTube: youtube.com/elbruno — Demos, tutorials, and live coding
- 🔗 LinkedIn: @elbruno — Professional updates and insights
- 𝕏 Twitter: @elbruno — Quick tips, releases, and tech news
Community
We welcome contributions from the community! Here's how to get involved:
- Contributing Guidelines — how to submit pull requests, report issues, and contribute code
- Code of Conduct — our commitment to fostering an open and welcoming environment
- Security Policy — how to report security vulnerabilities responsibly
- Issues — report bugs or request features
- Discussions — ask questions, share ideas, and connect with the community
Got questions? Open a discussion or reach out to @elbruno.
No comments yet
Be the first to share your take.