AgentMemory.Abstractions
1.0.0
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
<PackageReference Include="AgentMemory.Abstractions" Version="1.0.0" />
<PackageVersion Include="AgentMemory.Abstractions" Version="1.0.0" />
<PackageReference Include="AgentMemory.Abstractions" />
paket add AgentMemory.Abstractions --version 1.0.0
#r "nuget: AgentMemory.Abstractions, 1.0.0"
#:package AgentMemory.Abstractions@1.0.0
#addin nuget:?package=AgentMemory.Abstractions&version=1.0.0
#tool nuget:?package=AgentMemory.Abstractions&version=1.0.0
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:
- CONTINUE-HERE.md - 30-second current-state landing.
- docs/ROADMAP.md - current release status, shipped capabilities, and next work.
- docs/core/ - canonical project philosophy, requirements, design, specification, ADRs, and summaries.
- docs/getting-started.md - install and first-run guide.
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, andMemoryScope; null owner means shared/global. - Session:
session_idand 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 | Versions 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. |
-
net9.0
- Microsoft.Extensions.AI.Abstractions (>= 10.5.1)
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 |