MemoryIndexer 0.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package MemoryIndexer --version 0.2.0
                    
NuGet\Install-Package MemoryIndexer -Version 0.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MemoryIndexer" Version="0.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MemoryIndexer" Version="0.2.0" />
                    
Directory.Packages.props
<PackageReference Include="MemoryIndexer" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MemoryIndexer --version 0.2.0
                    
#r "nuget: MemoryIndexer, 0.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MemoryIndexer@0.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MemoryIndexer&version=0.2.0
                    
Install as a Cake Addin
#tool nuget:?package=MemoryIndexer&version=0.2.0
                    
Install as a Cake Tool

Memory Indexer SDK

Long-term memory management for LLM applications via MCP (Model Context Protocol).

Features

  • Semantic Search: Vector-based similarity search with hybrid BM25 + embedding retrieval
  • Multiple Storage Backends: InMemory, SQLite-vec, and Qdrant
  • Embedding Providers: Local (ONNX), Ollama, OpenAI, Azure OpenAI
  • Multi-Tenant Support: Complete tenant isolation with CTE-based pre-filtering
  • Security: PII detection and prompt injection defense
  • Observability: Built-in OpenTelemetry tracing and metrics
  • Evaluation: LoCoMo benchmark evaluation for memory retrieval quality
  • MCP Integration: Ready-to-use MCP tools for Claude and other LLM clients

Quick Start

using MemoryIndexer.Sdk.Extensions;
using Microsoft.Extensions.Hosting;

var builder = Host.CreateApplicationBuilder(args);

// Add Memory Indexer with default settings
builder.Services.AddMemoryIndexer(options =>
{
    options.Storage.Type = StorageType.SqliteVec;
    options.Embedding.Provider = EmbeddingProvider.Local;
});

// Optional: Add OpenTelemetry observability
builder.Services.AddMemoryIndexerOtlpObservability("http://localhost:4317");

// Add MCP server
builder.Services.AddMcpServer()
    .WithMemoryTools();

var host = builder.Build();
await host.RunAsync();

Configuration

{
  "MemoryIndexer": {
    "Storage": {
      "Type": "SqliteVec",
      "ConnectionString": "memories.db"
    },
    "Embedding": {
      "Provider": "Local",
      "Dimensions": 1024,
      "CacheEnabled": true
    },
    "Search": {
      "DefaultLimit": 10,
      "MinimumScore": 0.5
    }
  }
}

MCP Tools

The SDK provides these MCP tools:

  • memory_store: Store new memories with semantic embeddings
  • memory_recall: Retrieve relevant memories using semantic search
  • memory_get: Get a specific memory by ID
  • memory_list: List memories with filtering
  • memory_update: Update memory content or importance
  • memory_delete: Delete memories (soft or hard delete)
  • memory_kg_extract: Extract knowledge graph entities
  • memory_kg_query: Query the knowledge graph
  • memory_context_optimize: Optimize context window usage
  • memory_pii_detect: Detect PII in content
  • memory_sanitize: Sanitize content for security

Requirements

  • .NET 10.0 or later
  • For local embeddings: ONNX Runtime compatible system

License

MIT License

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on MemoryIndexer:

Package Downloads
MemoryIndexer.Sdk

Memory Indexer SDK - Full-featured long-term memory management for LLM applications via MCP. Includes InMemory/SQLite storage, extensible embedding/completion interfaces, and OpenTelemetry observability.

IronHive.Agent

IronHive Agent - Reusable agent layer for AI-powered CLI tools

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.13.1 107 2/6/2026
0.13.0 262 1/22/2026
0.12.0 101 1/19/2026
0.11.1 90 1/15/2026
0.11.0 95 1/15/2026
0.6.0 135 1/10/2026
0.4.0 92 1/9/2026
0.2.0 51 1/5/2026
0.1.0 371 12/11/2025

v0.2.0:
- Hybrid scoring with keyword matching and content-type boosting
- Improved recall relevance for positive/confirmed information
- CONFIRMED memories prioritized over RULED OUT in retrieval
- 26 new unit tests for scoring service
- TwentyQuestionsGame sample demonstrating memory-only context

v0.1.0:
- Core memory storage with InMemory, SQLite-vec, and Qdrant backends
- MCP tools for store, recall, get, list, update, delete operations
- Embedding support: Local, Ollama, OpenAI providers
- Hybrid search with BM25 and vector similarity
- Knowledge graph with entity extraction
- Self-editing memory management
- Context window optimization
- PII detection and prompt injection defense
- Multi-tenant data isolation with CTE-based pre-filtering
- LoCoMo benchmark evaluation (SingleHop, MultiHop, Temporal, CrossSession, Factual)
- RAGAS-style retrieval metrics (Recall, Precision, MRR, NDCG)
- OpenTelemetry tracing and metrics