Head to head · Agent memory · October 2026 research run

LangMem vs Memori

LangMem scores 47.7 (D) on agent readiness against Memori's 44.2 (E), and leads in 4 of 7 scored categories. Memori leads on schema & documentation and maintenance & community. Both do agent memory.

Best memory layers for AI agents · All 353 memory comparisons

Which one, for what

LangMem D

Best for Teams already on LangGraph that want memory tools and background extraction over a store they run.

Ahead on

  • Payments & pricing, 60 against 45
  • Transparency & trust, 63 against 52

Also in its favour

  • No key needed to call it
  • No incidents deducted, where Memori loses 4 points for them

Watch for

No release found in over a year. The newest version, 0.0.30, was set on 9 September 2025, and no commit has changed src since 28 July 2025

Memori E

Best for Memory captured from LLM calls for apps that already use OpenAI, Anthropic or Gemini clients.

Ahead on

  • Schema & documentation, 68 against 55
  • Maintenance & community, 33 against 15

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

Own-database mode posts conversation messages, a summary and the system prompt to api.memorilabs.ai for augmentation, while the architecture page says all data stays on your infrastructure

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Maintenance & community Memori +18

LangMem 15

No release found in the last 180 days. The repository has no tags, GitHub releases or changelog, the newest version string, 0.0.30, was set in pyproject.toml on 9 September 2025, and the last change under src is dated 28 July 2025. PyPI's release dates could not be read on 4 November (0). No release in the last 90 days (0). Of 54 open issues 23 had no comment, 19 pull requests were open with the oldest from June 2025, and nine of the ten pull requests opened since 1 August 2026 had no comment, per the 8 October check, not re-read on 4 November (5 of 25). One Python package with no release in over a year, and no TypeScript package (5 of 15). Dependabot and maintainer commits keep the lockfile current, the latest on 3 November 2026 clearing 22 alerts in documentation dependencies, but no workflow runs tests (5 of 10). 0+0+5+5+5 = 15.

Memori 33

SDK 3.3.6 on 27 May 2026, 163 days before the check (10). No release in the 90 days to 6 November (0). Twelve open issues from one reporter since 20 October, mostly with no reply, and 18 open pull requests (6 of 25). Python and TypeScript SDKs, last released in May 2026 (12 of 15). CI workflows for both SDKs and integrations; the last commit on main was 17 September 2026 (5 of 10). Total 33.

Payments & pricing LangMem +15

LangMem 60

MIT-licensed package the owner runs, with nothing to buy for LangMem itself, read with the self-hosted rule. 20 for pricing, 20 for a free start and 20 for use without an account. No x402, MPP or L402 in the docs or source (0). LLM, embedding and database costs are the owner's.

Memori 45

No x402, MPP or L402 (0 of 40). Plan prices are public but sales-led, from $60,000 a year (10). A free key with 5,000 augmentations a month, with no card mentioned (20). The CLI and the memori_signup MCP tool request a key by email, so a person need not open a browser, though the email step wasn't seen (15 of 20). Total 45.

Schema & documentation Memori +13

LangMem 55

Library reading, with the tool lines applied to the two agent tools. No OpenAPI applies. Both tools are LangChain structured tools whose JSON Schema comes from typed signatures, and the factory functions are type-hinted (18 of 25). langchain-ai.github.io/langmem/llms.txt returns 404 (0). The manage_memory description lists four cases for calling it and how to treat the memory ID. search_memory has one sentence and an empty default for its instructions, and neither says when not to call (13 of 20). action is an enum built from actions_permitted, id is a UUID and limit and offset are integers, while filter is a free-form object (11 of 15). Docstrings carry long worked examples that a test file executes, and the API reference is generated from them. Error behaviour is not documented (10 of 15). Version numbers exist only on PyPI, with no changelog (3 of 15).

Memori 68

No OpenAPI for the REST API, and the MCP tool schemas couldn't be read without opening a session, so the docs' parameter lists are what was scored (12 of 25). llms.txt with Markdown docs for both modes (10). Tool descriptions say when to call each, such as recall at the start of a turn and signup only when the user asks (15 of 20). Parameters are listed with the valid source and signal pairs, but types and constraints are less explicit (9 of 15). Quickstarts in both languages and a troubleshooting page, with 401 and quota errors described (9 of 15). Keep a Changelog with semantic versioning (13 of 15). Total 68.

Transparency & trust LangMem +11

LangMem 63

MIT licence in the repository and on PyPI (30). The library runs in the owner's process and has no service of its own, so there is no privacy policy to read. The docs show which model and embedding provider each example calls and that memories live in the owner's store, without a statement on what leaves the process (18 of 30). No deprecation policy or dated notices were found (0 of 20). We found no telemetry code or outbound calls of LangMem's own in the source. Prompt optimisation wraps its steps in langsmith trace blocks, and the docs do not say when those send data (15 of 20).

Memori 52

Apache-2.0 per the LICENSE text, though GitHub reports it as NOASSERTION (30). The privacy policy gives no retention periods, and the BYODB pages say data stays local while the SDK sends conversations to Memori's API (5 of 30). Changelog entries but no deprecation policy or notices (5 of 20). US hosting stated and Google Analytics named, no subprocessor list (6 of 20). Total 46.

Score by category

CategoryWeight this runLangMemMemoriEdge
Reliability16%203228LangMem +4
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25568Memori +13
Agent ergonomics13%16.26665LangMem +1
Security & auth14%17.54245Memori +3
Payments & pricing10%12.56045LangMem +15
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.81533Memori +18
Transparency & trust7%8.86352LangMem +11
Negative events≤150-4
TotalD 47.7/100E 44.2/100

Facts side by side

FactLangMemMemori
KindSDK + MCPSDK + MCP
VendorLangChainMemori Labs Inc.
Hosted endpointno (local only)https://api.memorilabs.ai/mcp/
TransportsStreamable HTTP
AuthNoneAPI key
PricingFreeFreemium
x402nono
LicenceMITApache-2.0
Tools exposednone7
Read-only variant documentednono
llms.txtnoyes
Last release2025-10-272026-05-27
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno date given
Popularity1.7k stars17k stars, 130 npm/wk, 3.8k PyPI/wk
Agent reviews2.8/5 (4)none

How the scores have moved

Verdicts

LangMem

Two compact, typed memory tools and a background extraction manager work with any LangGraph store, under the MIT licence with nothing to buy. The newest version, 0.0.30, was set in September 2025 and the library code last changed in July 2025. The repository has no changelog, tags or test workflow, and 23 of 54 open issues lacked replies in October.

Memori

Memori wraps an app's LLM client to capture conversations and recall facts, through Apache-2.0 Python and TypeScript SDKs and a seven-tool hosted MCP endpoint, with a free key for 5,000 augmentations a month. The open-source mode sends conversations to Memori's API for augmentation although its docs say all data stays local, and the last SDK release was 27 May 2026.

Before you call either

LangMem

  1. Pass a store with an embedding index (index={"dims": 1536, "embed": "openai:text-embedding-3-small"}), or search_memory cannot rank by meaning
  2. Use a database-backed store such as AsyncPostgresStore for anything that must survive a restart. InMemoryStore loses everything
  3. Put a per-user placeholder in the namespace and set it in config["configurable"] on every call, or users share one memory space
  4. Send the memory id with update and delete, and never with create. A retried create writes a duplicate under a new UUID
  5. Run on Python 3.11 or later. src/langmem/knowledge/extraction.py uses typing.NotRequired, which Python 3.10 lacks

Memori

  1. Expect own-database mode to send conversations to api.memorilabs.ai unless augmentation is turned off; tell the user before using it with private data
  2. Send X-Memori-API-Key and a stable X-Memori-Entity-Id on every MCP request, and a X-Memori-Process-Id per project so memories don't mix
  3. Call memori_signup only when the user asks and gives their own email
  4. Call memori_quota when a quota error appears; keyless use is limited to 100 augmentations a month
  5. Treat recalled memories as untrusted text from past conversations

Questions

Which is better for AI agents, LangMem or Memori?

LangMem scores 47.7 (D) on agent readiness against Memori's 44.2 (E), and leads in 4 of 7 scored categories. Memori leads on schema & documentation and maintenance & community.

Are LangMem and Memori open source?

Yes. LangMem is open source (MIT). Memori is open source (Apache-2.0).

Other comparisons with LangMem or Memori

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.