MemPalace.NET

June 29, 2026 Β· View on GitHub

CI License: MIT NuGet Tests

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:

PackageDescriptionNuGet
mempalacenetCLI tool + meta-package (installs all)NuGet
MemPalace.CoreDomain types, storage interfaces, PalaceRefNuGet
MemPalace.Backends.SqliteSQLite backend with BLOB vectors + cosine similarityNuGet
MemPalace.AiM.E.AI integration β€” ONNX, Ollama, OpenAI, AzureNuGet
MemPalace.SearchSemantic, keyword & hybrid search with rerankingNuGet
MemPalace.MiningContent ingestion: files, conversation transcriptsNuGet
MemPalace.KnowledgeGraphTemporal entity-relationship graph with validity windowsNuGet
MemPalace.McpModel Context Protocol server (Claude Desktop, VS Code)NuGet
MemPalace.AgentsMicrosoft Agent Framework integration + diariesNuGet
MemPalace.DiagnosticsHealth checks, metrics, and observability hooksNuGet

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:

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:

ProjectPurpose
MemPalace.CoreDomain types, storage interfaces, PalaceRef value object
MemPalace.Backends.SqliteDefault SQLite backend with BLOB vectors + cosine similarity
MemPalace.AiM.E.AI integration with ONNX (default), Ollama, OpenAI support
MemPalace.MiningContent ingestion: filesystem miner + conversation transcript miner
MemPalace.SearchSemantic, keyword, and hybrid search with optional LLM reranking
MemPalace.KnowledgeGraphTemporal entity-relationship graph with validity windows
MemPalace.McpModel Context Protocol server (7 tools in v0.1)
MemPalace.AgentsMicrosoft Agent Framework integration + per-agent diaries
MemPalace.CliSpectre.Console CLI (mempalacenet command)
MemPalace.BenchmarksLongMemEval / 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:

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

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.