AgentMemory.Abstractions 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package AgentMemory.Abstractions --version 1.0.0
                    
NuGet\Install-Package AgentMemory.Abstractions -Version 1.0.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="AgentMemory.Abstractions" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AgentMemory.Abstractions" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="AgentMemory.Abstractions" />
                    
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 AgentMemory.Abstractions --version 1.0.0
                    
#r "nuget: AgentMemory.Abstractions, 1.0.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 AgentMemory.Abstractions@1.0.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=AgentMemory.Abstractions&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=AgentMemory.Abstractions&version=1.0.0
                    
Install as a Cake Tool

Agent Memory for .NET

Independent community project. Not affiliated with, endorsed by, or supported by Neo4j, Inc.

Persistent graph-native memory for AI agents in .NET, backed by Neo4j and built for Microsoft Agent Framework, Semantic Kernel, direct .NET usage, and MCP clients.

Start here:

Status

1.0.0 is the first stable release: the public API surface is locked under Semantic Versioning. The library is feature-complete — three-tier graph memory (short-term / long-term / reasoning), bitemporal recall with non-destructive decay, multi-tenant owner isolation, GraphRAG retrieval, consolidation/hygiene, and first-class adapters for the Microsoft Agent Framework, Semantic Kernel, MCP, and direct .NET use. It passes the upstream agent-memory compatibility kit (TCK) through the Gold tier.

The library ships from a warning-free Release build with a full unit + Semantic Kernel + live-Neo4j integration suite green on main.

What It Provides

Agent Memory for .NET provides three memory layers:

  • Short-term memory: conversations, messages, ordering, sessions, roles, timestamps, and embeddings.
  • Long-term memory: entities, facts, preferences, relationships, provenance, owner scope, confidence, and temporal state.
  • Reasoning memory: traces, steps, tool calls, tool aggregate nodes, task embeddings, and prior execution patterns.

It supports:

  • Neo4j-backed graph persistence.
  • Vector, fulltext, hybrid, and graph traversal retrieval.
  • Optional GraphRAG context retrieval from AgentMemory.Neo4j.
  • Microsoft Agent Framework context, chat-store, tools, and trace-recording integration.
  • Semantic Kernel plugin integration.
  • Model Context Protocol server surface.
  • LLM and Azure Language extraction backends.
  • OpenTelemetry observability, geocoding/entity enrichment, optional GDS analytics, schema bootstrap/migration, and CLI maintenance workflows.

Package Topology

Package Purpose
AgentMemory.Abstractions Domain models, service/repository interfaces, options, schema constants.
AgentMemory.Core Memory services, context assembly, extraction pipeline, entity resolution, stubs.
AgentMemory.Neo4j Neo4j repositories, Cypher queries, schema bootstrap, migrations, GraphRAG retrieval.
AgentMemory.Extraction.Llm LLM-backed extractors through Microsoft.Extensions.AI.
AgentMemory.Extraction.AzureLanguage Azure Language extraction support.
AgentMemory.AgentFramework Microsoft Agent Framework adapter.
AgentMemory.SemanticKernel Semantic Kernel adapter.
AgentMemory.McpServer MCP tools/resources/prompts surface.
AgentMemory.Observability Optional OpenTelemetry decorators and metrics.
AgentMemory.Enrichment Optional geocoding and entity enrichment.
AgentMemory.Analytics Optional Neo4j GDS PageRank/Louvain analytics.
AgentMemory Convenience meta-package for the common stack.

Quick Start

dotnet add package AgentMemory
using AgentMemory;
using AgentMemory.Abstractions.Services;
using AgentMemory.Neo4j.Infrastructure;
using Microsoft.Extensions.DependencyInjection;

var services = new ServiceCollection();

services.AddNeo4jAgentMemory(
    memory => { },
    neo4j =>
    {
        neo4j.Uri = "bolt://localhost:7687";
        neo4j.Username = "neo4j";
        neo4j.Password = "password";
    },
    configureLlm: null);

var provider = services.BuildServiceProvider();

var bootstrapper = provider.GetRequiredService<ISchemaBootstrapper>();
await bootstrapper.BootstrapAsync();

var memory = provider.GetRequiredService<IMemoryService>();
await memory.AddMessageAsync("session-01", "conversation-01", "user", "I prefer dark mode.");

For production semantic search, register a real IEmbeddingGenerator<string, Embedding<float>> from Microsoft.Extensions.AI; the core stubs are safe defaults, not production embeddings.

Isolation Model

Memory is scoped as store → owner → session.

  • Store: ApplicationId, default shared database, optional database per application for Enterprise/AuraDB.
  • Owner: owner_id, owner_key, and MemoryScope; null owner means shared/global.
  • Session: session_id and conversation IDs for run-local context.

Owner and store scope are enforced in repository, recall, GraphRAG, reasoning, maintenance, and temporal paths rather than only in adapters.

Relationship to Upstream Projects

This project is inspired by neo4j-labs/agent-memory and preserves compatible graph concepts where useful. It is implemented independently in .NET and is not an official Neo4j repository or product.

GraphRAG retrieval is implemented inside AgentMemory.Neo4j and registered explicitly with AddGraphRagAdapter(...); there is no separate current GraphRAG adapter package.

Documentation

Full documentation lives in docs/. The canonical core set is docs/core/:

Contributing

See CONTRIBUTING.md for build, test, and contribution guidance.

License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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 (11)

Showing the top 5 NuGet packages that depend on AgentMemory.Abstractions:

Package Downloads
AgentMemory.McpServer

MCP server for AgentMemory for .NET — exposes agent-memory tools to MCP clients via the Model Context Protocol.

AgentMemory.Observability

OpenTelemetry-based observability decorators for AgentMemory for .NET. Opt-in tracing, metrics, and structured logging.

AgentMemory.Core

Framework-agnostic core for AgentMemory for .NET — memory orchestration, context assembly, extraction-pipeline coordination, and entity resolution (no Neo4j driver dependency).

AgentMemory.Enrichment

Entity enrichment for AgentMemory for .NET — Nominatim geocoding and Wikimedia/Diffbot enrichment with caching, queuing, and rate limiting.

AgentMemory.Neo4j

Neo4j persistence and retrieval for AgentMemory for .NET — repositories, schema bootstrapper, and GraphRAG retrievers (vector, fulltext, hybrid, graph).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.3 136 7/13/2026
1.0.2 142 7/13/2026
1.0.1 137 7/13/2026
1.0.0 142 7/12/2026
0.1.0-preview.4 108 6/21/2026
0.1.0-preview.3 104 6/14/2026