Skip to main content
PromptQuorum
Home/Power Local LLM/LongMemory Review: A Temporal Memory Engine for AI Agents
RAG & Document Chat

LongMemory Review: A Temporal Memory Engine for AI Agents

Β·11 min readΒ·By Hans Kuepper Β· Founder of PromptQuorum, multi-model AI dispatch tool Β· PromptQuorum

LongMemory is a free, open-source, self-hosted memory engine that gives AI agents and LLM applications durable, temporal, governed memory across sessions, rather than working as a plain vector database or RAG pipeline. Built by CaviraOSS (github.com/CaviraOSS/LongMemory) and licensed Apache 2.0, it stores what was true at specific points in time, tracks how facts change, and exposes that memory to tools like Claude Desktop, GitHub Copilot, Codex, and n8n through a TypeScript library, a Python HTTP client, a CLI, a REST API, and MCP.

LongMemory (github.com/CaviraOSS/LongMemory) is a free, open-source, self-hosted memory engine that gives AI agents and LLM applications durable, time-aware recall across sessions, instead of the usual amnesia between chats. It is built by CaviraOSS and was formerly published under the name OpenMemory before being renamed to LongMemory β€” same project, same repository lineage, new name. This review covers what it actually does, how its memory model differs from a plain vector database or RAG pipeline, how to install it, and who it fits.

Key Takeaways

  • LongMemory (github.com/CaviraOSS/LongMemory) is a free, open-source, self-hosted memory engine for AI agents and LLM applications
  • Built by CaviraOSS; formerly published under the name OpenMemory before being renamed LongMemory β€” this review treats them as the same project, not two competing tools
  • Apache 2.0 licensed for the core engine; a separate n8n community-node package ships under MIT, per its own package listing
  • Stores memory in a graph-based substrate the project calls "Hydrograph," with immutable nodes, typed edges, and temporal tracking, backed by SQLite for persistence
  • Positions itself against plain RAG and vector search: per its own documentation, it is "not just RAG, not just a vector database"
  • Integrates with Claude Desktop, GitHub Copilot, Codex, OpenCode, Gemini CLI, Cline, and n8n, plus a Model Context Protocol (MCP) server
  • Over 4,500 GitHub stars as of this review

πŸ“ In One Sentence

LongMemory is a free, open-source (Apache 2.0), self-hosted memory engine built by CaviraOSS β€” formerly published as OpenMemory β€” that gives AI agents and LLM applications durable, temporal, governed memory across sessions, with over 4,500 GitHub stars.

πŸ’¬ In Plain Terms

LongMemory is a piece of infrastructure you run yourself that remembers things for an AI agent between conversations β€” including when a fact was true and when it changed β€” instead of the agent forgetting everything the moment a chat ends. It does not run its own AI model; it stores and recalls memory, and hands context back to whichever LLM or embedding provider you have configured.

πŸ“ŒNote: This review is based on LongMemory's own GitHub repository, README, and documentation. It does not claim PromptQuorum has run hands-on benchmarks of its retrieval accuracy or performance against other memory tools β€” verify specific performance claims directly against the project's own docs before relying on them for a production decision.

What Is LongMemory?

LongMemory is a self-hosted memory engine that gives AI agents and LLM applications durable, time-aware recall across sessions, rather than a model, an inference engine, or a plain vector database. Per its own documentation, it aims to solve a specific problem: most LLM systems lose all context the moment a session ends, and even RAG pipelines built on a vector database typically have no concept of when a fact was true or whether it has since been contradicted.

  • Product type: a self-hosted memory backend/library β€” not a chat app, not an inference engine, not a model
  • Developer: CaviraOSS, the GitHub organization that publishes and maintains the project
  • Naming: this project is currently named LongMemory; it was formerly published under the name OpenMemory by the same organization, and its packages (longmemory, longmemory-sdk) reflect the renamed version β€” do not confuse this with unrelated, similarly named "OpenMemory" projects from other organizations
  • License: Apache 2.0 for the core engine, confirmed via the GitHub repository; a separate n8n community-node integration package is licensed MIT, per npm/n8n package conventions
  • Repository scale: over 4,500 GitHub stars as of this review, with roughly 390 commits on its main branch

Project History: From OpenMemory to LongMemory

LongMemory shipped its early releases under the name OpenMemory, then was renamed to LongMemory by the same CaviraOSS team while keeping the same repository lineage. The version history below reflects milestones from the project's changelog and release notes; dates are as published by the project and should be re-verified on GitHub if you need exact release timing for a compliance or procurement decision.

  1. 1
    v1.0.0 / MCP support β€” initial Model Context Protocol implementation
    Why it matters: Added tag- and metadata-filtered queries against the project's graph substrate and exposed memory through MCP, the integration path that later connected LongMemory to tools like Claude Desktop.
  2. 2
    v1.1.0 β€” pluggable vector database support
    Why it matters: Added PostgreSQL as a supported backend alongside the project's default storage, giving self-hosters more control over where memory data lives.
  3. 3
    v1.1.1 β€” memory compression engine and VS Code extension
    Why it matters: Introduced a memory-compression system with multiple algorithms, plus a VS Code extension and API authentication/rate limiting for self-hosted deployments.
  4. 4
    v1.2.0 β€” web UI and hybrid performance tier
    Why it matters: Added a web dashboard for inspecting and managing stored memory, plus a "HYBRID" performance mode balancing accuracy and speed.
  5. 5
    v1.2.1–v1.2.3 β€” SDK overhaul and temporal filtering
    Why it matters: Rewrote the Python and JavaScript SDKs for standalone use, added time-based ("temporal") filtering on memory retrieval, and fixed MCP server path issues affecting Claude Desktop integration.
  6. 6
    Beta v1.3.0 β€” zero-config Memory() class
    Why it matters: Simplified the API surface with a zero-config `Memory()` class and a rewritten benchmark suite, per the project's own release notes β€” the most recent milestone this review could confirm from the public changelog.

What Does LongMemory Actually Do?

LongMemory stores what your AI agent or app has learned, tracks when each fact was true, and hands back only the relevant, still-valid context when asked β€” while staying stateless on the model side itself.

  • Temporal reasoning β€” tracks point-in-time truth, event ordering, and supersession, so a fact that was true last month but has since changed does not silently overwrite or corrupt current answers
  • Multiple recall modes β€” per its documentation: "strict" recall applies temporal, contradiction, and grounding checks for current facts; "historical" recall retrieves what was true during a specific past period; "associative" recall follows semantic, lexical, and graph signals; "world-grounded" recall requires external evidence before returning a memory as fact
  • Hydrograph substrate β€” a graph-based storage model with immutable nodes, typed edges, and temporal tracking, persisted in SQLite, so retrieved memory is described as auditable and unchanged after the fact by later retrieval
  • Governed memory assets β€” the project describes structured memory types including project memory, chat memory, "skills," an "LLM-Wiki," and a "CodeGraph," each with access-control policies, per its own documentation
  • Not an inference engine β€” LongMemory's own docs are explicit that "your model stays stateless" and that LongMemory itself does not run inference; it calls out to an embedding provider you configure (OpenAI, Google Gemini, AWS Bedrock, Ollama, or a local HTTP-compatible model) and hands context back to whichever LLM your application already uses
  • Multilingual support β€” includes script detection and cross-language embeddings, per its documentation, rather than being English-only
  • Session porting β€” can import prior conversation history from tools including Claude Code, Codex, GitHub Copilot, and Gemini CLI, so existing conversations are not lost when adopting LongMemory
  • Model Context Protocol (MCP) server β€” exposes memory operations as MCP tools, which is the integration path used by Claude Desktop and other MCP-compatible clients

Usage Examples: Three Ways to Use LongMemory

These are concrete workflows built from LongMemory's own documented features, not hypothetical use cases.

Platform, Pricing, and Licensing

Platform

What LongMemory states:
Self-hosted; deployable via Docker, or run directly as a Node.js/TypeScript library, Python HTTP client, or CLI, per its own docs.

Cost

What LongMemory states:
Free and open source. Self-hosting means your only cost is your own infrastructure plus whatever your chosen embedding/LLM provider charges.

Licensing

What LongMemory states:
Apache 2.0 for the core engine; a separate n8n community-node package is MIT, per that package's own listing.

Data locality

What LongMemory states:
Positioned as local-first and self-hosted, with SQLite-backed persistence and optional PostgreSQL support, per its documentation.

Verify the current license text directly in the GitHub repository before relying on this table for a legal or compliance decision, since license files can change between releases.

LongMemory vs. a Plain Vector Database

LongMemory and a plain vector database such as Qdrant, Chroma, or Weaviate solve a related but different problem: a vector database stores and searches embeddings, while LongMemory adds temporal reasoning, governance, and agent-specific memory types on top of retrieval.

Aspect
LongMemory
Plain vector database
Core jobGoverned, temporal memory for agentsStore and search vector embeddings
Time-awarenessTracks when facts were true and supersededNot built in; must be added by your app
Memory typesProject, chat, skills, wiki, code-graphGeneric vectors/collections
Runs its own modelNo β€” calls your configured providerNo β€” same, embeddings computed elsewhere
Agent integrationsMCP, Claude Desktop, Copilot, Codex, n8nTypically none built in

If you only need to store and semantically search embeddings, a plain vector database is simpler to operate. If you need an agent to remember what was true when, and to distinguish current facts from superseded ones, LongMemory's temporal model is purpose-built for that in a way a generic vector database is not by default.

Who Should Use LongMemory?

LongMemory fits developers building agents or LLM apps that need memory to persist and stay accurate across sessions, not just a one-off retrieval index.

What LongMemory Is Not Good For

LongMemory is not a good fit if you want a fully managed memory service, an inference engine, or a simple drop-in vector search with no temporal complexity.

  • Not an inference engine or model server β€” it does not generate text itself; it stores and recalls memory around a model or embedding provider you configure separately
  • Not a managed cloud service β€” it is self-hosted, so you are responsible for running and maintaining the Node.js/Python/Docker runtime and its storage backend
  • Not the simplest option if you only need basic document retrieval with no need to track how facts change over time β€” a plainer RAG framework may be less operational overhead
  • Not independently benchmarked by PromptQuorum for retrieval accuracy or latency β€” this review is based on LongMemory's own documentation, not hands-on testing
  • Renamed from OpenMemory β€” older tutorials, blog posts, or package references under the OpenMemory name may describe an earlier version of the same codebase; verify against the current repository before relying on older third-party guides

Common Mistakes When Evaluating LongMemory

Most confusion about LongMemory comes from its rename from OpenMemory, or from assuming it runs its own model like an inference engine would.

Competitors and Alternatives

LongMemory is most often compared to other self-hosted RAG and memory-framework tools, since it sits in the same "embeddings and retrieval infrastructure" segment. Companion to LongMemory's own entry in the Local LLM Software Directory.

Tool
Best known for
Link
CogneeOpen-source AI memory and knowledge-graph engine for LLM apps and agentsCognee review
txtaiEmbedded, all-in-one vector search and RAG frameworktxtai review
LlamaIndexGeneral-purpose data framework for building RAG and agent applicationsLlamaIndex review
Haystackdeepset's open-source RAG and search-pipeline frameworkHaystack review

This list reflects tools in the same embeddings/retrieval-infrastructure segment as LongMemory, not an independent PromptQuorum ranking β€” verify each tool's current feature set before choosing, since LongMemory's temporal-memory focus is not identical to a general RAG framework or vector database.

Frequently Asked Questions

What is LongMemory?

LongMemory (github.com/CaviraOSS/LongMemory) is a free, open-source, self-hosted memory engine that gives AI agents and LLM applications durable, temporal, governed memory across sessions.

Is LongMemory the same project as OpenMemory?

Yes. LongMemory was formerly published by CaviraOSS under the name OpenMemory before being renamed. It is the same project and repository lineage, not two separate tools β€” but note that unrelated projects from other organizations also use the name "OpenMemory," so verify you are looking at CaviraOSS's repository specifically.

Is LongMemory free?

Yes. The core engine is Apache 2.0 licensed and self-hosted, so there is no subscription fee for LongMemory itself. Your only cost is your own hosting infrastructure plus whatever your chosen embedding or LLM provider charges.

Does LongMemory run its own AI model?

No. LongMemory is a memory substrate, not an inference engine. It stores and retrieves memory, and calls out to an embedding/LLM provider you configure β€” OpenAI, Google Gemini, AWS Bedrock, Ollama, or a local HTTP-compatible model.

How do I install LongMemory?

Via npm (npm install longmemory for the library, or npm install --global longmemory for the CLI), via pip (pip install longmemory-sdk for the Python HTTP client), or via Docker (docker run -p 7331:7331 ghcr.io/caviraoss/longmemory:latest).

What makes LongMemory different from a vector database?

A plain vector database stores and searches embeddings with no concept of time. LongMemory adds temporal reasoning (tracking when a fact was true and whether it has since changed), governed memory types, and agent-specific integrations on top of retrieval.

What AI tools does LongMemory integrate with?

Per its documentation: Claude Desktop, GitHub Copilot, Codex, OpenCode, Gemini CLI, Cline, and n8n, plus any Model Context Protocol (MCP)-compatible client through its MCP server.

What license does LongMemory use?

Apache 2.0 for the core engine. A separate n8n community-node integration package is licensed MIT, per that package's own listing on the n8n community registry.

Does LongMemory support languages other than English?

Yes. Its documentation describes script detection and cross-language embeddings as part of its multilingual support, rather than being limited to English-language memory.

Has PromptQuorum independently tested LongMemory's retrieval accuracy?

No. This review is based on LongMemory's own GitHub repository, README, and documentation, not hands-on benchmarking by PromptQuorum. Verify specific performance claims against the project's own docs before a production decision.

Sources

← Back to Power Local LLM