{
  "data": {
    "similar": [
      {
        "grade": "A",
        "json": "https://www.anchorterminal.com/tools/agentcore-memory.json",
        "name": "Amazon Bedrock AgentCore Memory",
        "score": 79.4,
        "shared": [
          "memory.store",
          "memory.search",
          "memory.user",
          "memory.delete"
        ],
        "slug": "agentcore-memory"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/zep.json",
        "name": "Zep",
        "score": 69.3,
        "shared": [
          "memory.store",
          "memory.search",
          "memory.user",
          "memory.delete"
        ],
        "slug": "zep"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/honcho.json",
        "name": "Honcho",
        "score": 64.1,
        "shared": [
          "memory.store",
          "memory.search",
          "memory.user",
          "memory.delete"
        ],
        "slug": "honcho"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/supermemory.json",
        "name": "Supermemory API + MCP",
        "score": 63.6,
        "shared": [
          "memory.store",
          "memory.search",
          "memory.user",
          "memory.delete"
        ],
        "slug": "supermemory"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/mem0.json",
        "name": "Mem0 Platform + MCP",
        "score": 56.1,
        "shared": [
          "memory.store",
          "memory.search",
          "memory.user",
          "memory.delete"
        ],
        "slug": "mem0"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/localghost.json",
        "name": "LocalGhost",
        "score": 52.6,
        "shared": [
          "memory.store",
          "memory.search",
          "memory.user",
          "memory.delete"
        ],
        "slug": "localghost"
      }
    ],
    "tool": {
      "slug": "langmem",
      "name": "LangMem",
      "vendor": "LangChain",
      "vendorUrl": "https://www.langchain.com",
      "kind": "sdk",
      "category": "agent-memory",
      "summary": "LangMem is LangChain's open-source Python library for long-term agent memory. It extracts facts from conversations with an LLM, stores and searches them in a LangGraph store the owner runs, and includes two memory tools, message summarisation and prompt optimisation.",
      "url": "https://www.anchorterminal.com/tools/langmem",
      "markdownUrl": "https://www.anchorterminal.com/tools/langmem.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/langmem.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/langmem.json",
      "repo": "https://github.com/langchain-ai/langmem",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "langmem"
        }
      ],
      "auth": "none",
      "authNotes": "The library has no account or key of its own. It runs in the owner's process and needs a key for the chosen LLM provider (the README uses `ANTHROPIC_API_KEY`) and, for semantic search, an embedding provider. Access to memories is whatever the owner's LangGraph store and namespace settings allow.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy and no signup. The owner pays for the LLM calls that extract memories, the embedding calls behind search, and the database behind the store (https://github.com/langchain-ai/langmem).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1698,
        "npmWeekly": null,
        "pypiWeekly": 214379,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://langchain-ai.github.io/langmem/",
      "capabilities": [
        "memory.store",
        "memory.search",
        "memory.user",
        "memory.delete"
      ],
      "tags": [
        "sdk",
        "open-source",
        "self-hosted",
        "local",
        "python",
        "free",
        "langgraph",
        "pre-1.0"
      ],
      "lastRelease": "2025-10-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.9,
        "grade": "D",
        "agentReady": false,
        "rank": 734,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 15,
          "payments": 60,
          "reliability": 32,
          "schema": 55,
          "security": 45,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 32,
            "points": 6.4,
            "reason": "Local-software reading. Installs from PyPI as `langmem` with Python 3.10 or later declared, but `extraction.py` on main uses `typing.NotRequired`, which arrived in Python 3.11, and issues 81 and 83 about failed imports on 3.10 are open. We read the source and did not run it on 3.10 (14 of 20). The repository holds tests (30 summarisation tests and a docstring-example runner), but its two workflows only deploy docs and publish to PyPI, so no public CI runs them (5 of 25). 54 open issues, 23 with no comment, among them a `TypeError` in summarisation from November 2025 (135), a schema mismatch between the tool and the store manager (138) and search missing memories written by the store manager (140) (8 of 25). Versions are 0.0.x with no changelog, GitHub releases or tags, and open issue 130 shows 0.0.30 was cut to restore compatibility with LangGraph 1.0 (5 of 15). Below 1.0 and not declared stable (0)."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 55,
            "points": 8.94,
            "reason": "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)."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 66,
            "points": 10.73,
            "reason": "Two tools with short descriptions (25). `search_memory` takes `limit` (default 10), `offset` and `filter`, and returns whole stored items as JSON with no field selection (17 of 20). Validation errors tell the model what to change, such as omitting the ID on create or supplying one on update and delete. They are not documented, and a missing store raises a `ConfigurationError` that deliberately escapes the tool node (10 of 20). Update and delete by ID are safe to repeat. A repeated create writes a second memory under a new UUID, and there is no idempotency key (6 of 20). One required argument for each factory (the namespace) and working defaults. Python only, with an open request for TypeScript (issue 121) (8 of 15)."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 45,
            "points": 7.88,
            "reason": "Local-software reading. The library holds no credential of its own and opens no port. The LLM key comes from the environment, and per-user separation depends on the owner setting a namespace placeholder from run-time config, which is a convention and not an access control. The deployable graphs in the repository ship an auth handler that prefixes store namespaces with the caller's identity (18 of 30). `actions_permitted` can drop delete or update from the manage tool, search is a separate tool, and `create_memory_store_manager` has deletes off by default. Nothing asks for confirmation before a delete (14 of 20). Memories come from past conversations and return to the model as stored. No guidance on poisoning or injection was found, and issues 163 and 164 proposing a guard (May 2026) have no reply (0 of 15). No audit log in the library. Store items carry created and updated timestamps (3 of 15). The organisation's SECURITY.md points to two Intigriti disclosure programmes, and an August 2026 commit resolves open Dependabot alerts. No `SECURITY.md` in this repository, no published advisories, no security.txt on langchain.com, and no certification was checked (10 of 20)."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 60,
            "points": 7.5,
            "reason": "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."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 15,
            "points": 1.31,
            "reason": "0.0.30 reached PyPI on 27 October 2025, 346 days before the check (0). No release in the last 90 days (0). Of 54 open issues 23 have no comment, 19 pull requests are open with the oldest from June 2025, and nine of the ten pull requests opened since 1 August 2026 have no comment. The four issues filed between 5 and 8 October 2026 are too new to count against it (5 of 25). One Python package, current on PyPI only as the year-old 0.0.30, and no TypeScript package (5 of 15). Dependabot updates the lockfile, with the latest merge on 2 October 2026 and a pass over open alerts in August, but no workflow runs tests (5 of 10)."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 59,
            "points": 5.16,
            "note": "editorial 63, provenance 55",
            "reason": "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)."
          }
        ],
        "assessment": {
          "date": "2026-10-08",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "Two tools with short descriptions (25). `search_memory` takes `limit` (default 10), `offset` and `filter`, and returns whole stored items as JSON with no field selection (17 of 20). Validation errors tell the model what to change, such as omitting the ID on create or supplying one on update and delete. They are not documented, and a missing store raises a `ConfigurationError` that deliberately escapes the tool node (10 of 20). Update and delete by ID are safe to repeat. A repeated create writes a second memory under a new UUID, and there is no idempotency key (6 of 20). One required argument for each factory (the namespace) and working defaults. Python only, with an open request for TypeScript (issue 121) (8 of 15).",
            "maintenance": "0.0.30 reached PyPI on 27 October 2025, 346 days before the check (0). No release in the last 90 days (0). Of 54 open issues 23 have no comment, 19 pull requests are open with the oldest from June 2025, and nine of the ten pull requests opened since 1 August 2026 have no comment. The four issues filed between 5 and 8 October 2026 are too new to count against it (5 of 25). One Python package, current on PyPI only as the year-old 0.0.30, and no TypeScript package (5 of 15). Dependabot updates the lockfile, with the latest merge on 2 October 2026 and a pass over open alerts in August, but no workflow runs tests (5 of 10).",
            "payments": "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.",
            "reliability": "Local-software reading. Installs from PyPI as `langmem` with Python 3.10 or later declared, but `extraction.py` on main uses `typing.NotRequired`, which arrived in Python 3.11, and issues 81 and 83 about failed imports on 3.10 are open. We read the source and did not run it on 3.10 (14 of 20). The repository holds tests (30 summarisation tests and a docstring-example runner), but its two workflows only deploy docs and publish to PyPI, so no public CI runs them (5 of 25). 54 open issues, 23 with no comment, among them a `TypeError` in summarisation from November 2025 (135), a schema mismatch between the tool and the store manager (138) and search missing memories written by the store manager (140) (8 of 25). Versions are 0.0.x with no changelog, GitHub releases or tags, and open issue 130 shows 0.0.30 was cut to restore compatibility with LangGraph 1.0 (5 of 15). Below 1.0 and not declared stable (0).",
            "schema": "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).",
            "security": "Local-software reading. The library holds no credential of its own and opens no port. The LLM key comes from the environment, and per-user separation depends on the owner setting a namespace placeholder from run-time config, which is a convention and not an access control. The deployable graphs in the repository ship an auth handler that prefixes store namespaces with the caller's identity (18 of 30). `actions_permitted` can drop delete or update from the manage tool, search is a separate tool, and `create_memory_store_manager` has deletes off by default. Nothing asks for confirmation before a delete (14 of 20). Memories come from past conversations and return to the model as stored. No guidance on poisoning or injection was found, and issues 163 and 164 proposing a guard (May 2026) have no reply (0 of 15). No audit log in the library. Store items carry created and updated timestamps (3 of 15). The organisation's SECURITY.md points to two Intigriti disclosure programmes, and an August 2026 commit resolves open Dependabot alerts. No `SECURITY.md` in this repository, no published advisories, no security.txt on langchain.com, and no certification was checked (10 of 20).",
            "transparency": "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)."
          },
          "sources": [
            {
              "what": "repository, README, licence, workflows and source (shallow clone of main at 48e3c11)",
              "url": "https://github.com/langchain-ai/langmem",
              "seen": "2026-10-08"
            },
            {
              "what": "memory tools source",
              "url": "https://github.com/langchain-ai/langmem/blob/main/src/langmem/knowledge/tools.py",
              "seen": "2026-10-08"
            },
            {
              "what": "memory manager source",
              "url": "https://github.com/langchain-ai/langmem/blob/main/src/langmem/knowledge/extraction.py",
              "seen": "2026-10-08"
            },
            {
              "what": "PyPI metadata and release history",
              "url": "https://pypi.org/pypi/langmem/json",
              "seen": "2026-10-08"
            },
            {
              "what": "PyPI downloads",
              "url": "https://pypistats.org/api/packages/langmem/recent",
              "seen": "2026-10-08"
            },
            {
              "what": "docs site",
              "url": "https://langchain-ai.github.io/langmem/",
              "seen": "2026-10-08"
            },
            {
              "what": "memory tools guide",
              "url": "https://langchain-ai.github.io/langmem/guides/memory_tools/",
              "seen": "2026-10-08"
            },
            {
              "what": "llms.txt (404)",
              "url": "https://langchain-ai.github.io/langmem/llms.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "repository metadata, stars and open issue count",
              "url": "https://api.github.com/repos/langchain-ai/langmem",
              "seen": "2026-10-08"
            },
            {
              "what": "open issues and pull requests",
              "url": "https://github.com/langchain-ai/langmem/issues",
              "seen": "2026-10-08"
            },
            {
              "what": "issue 154, nine comments and none from a maintainer",
              "url": "https://github.com/langchain-ai/langmem/issues/154",
              "seen": "2026-10-08"
            },
            {
              "what": "repository security advisories (empty)",
              "url": "https://api.github.com/repos/langchain-ai/langmem/security-advisories",
              "seen": "2026-10-08"
            },
            {
              "what": "LangChain organisation security policy",
              "url": "https://github.com/langchain-ai/.github/blob/main/SECURITY.md",
              "seen": "2026-10-08"
            },
            {
              "what": "security.txt (404)",
              "url": "https://www.langchain.com/.well-known/security.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "RDAP for langchain.com",
              "url": "https://rdap.verisign.com/com/v1/domain/langchain.com",
              "seen": "2026-10-08"
            }
          ],
          "openQuestions": [
            "We read `typing.NotRequired` in the source and the two open issues but did not run the package on Python 3.10.",
            "Maintainer response is judged from comment counts on open issues and one thread read in full. Closed issues were not sampled.",
            "unchecked: whether `langsmith` trace blocks in the prompt optimisers send anything without tracing environment variables set.",
            "unchecked: LangChain's certifications and the terms of its hosted products, which do not govern this library.",
            "Whether LangChain plans further LangMem releases is not stated in the repository or docs.",
            "Issues 196 and 198, filed on 8 October 2026, report that the store manager returns success when a write fails and ignores `query_limit` above the store default. Neither was verified."
          ]
        },
        "negative": 0,
        "verdict": "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 PyPI release, 0.0.30, dates from 27 October 2025. The repository has no changelog, tags or test workflow, and 23 of 54 open issues have no reply.",
        "bestFor": "Teams already on LangGraph that want memory tools and background extraction over a store they run.",
        "strengths": [
          "MIT licence, installed with `pip install -U langmem`, with no account, key or fee of its own",
          "Two agent tools, `manage_memory` and `search_memory`, with typed inputs, an action enum and `limit`, `offset` and `filter` on search",
          "`actions_permitted` limits the manage tool to any subset of create, update and delete, and `create_memory_store_manager` leaves deletes off by default",
          "Namespace templates such as `(\"memories\", \"{langgraph_user_id}\")` keep each user's memories apart at run time",
          "Works with any LangGraph `BaseStore`, including `InMemoryStore` for tests and `AsyncPostgresStore` for durable storage"
        ],
        "weaknesses": [
          "The newest PyPI release, 0.0.30, is from 27 October 2025, and every commit to `src` on main is older than that",
          "No changelog, GitHub releases or tags, and versions are still 0.0.x",
          "The repository's two workflows deploy docs and publish to PyPI. Neither runs the tests",
          "54 open issues, 23 with no comment, and 19 open pull requests, the oldest from June 2025",
          "No guidance on memory poisoning or prompt injection found, and two open issues asking for it (May 2026) have no reply"
        ],
        "agentNotes": [
          "Pass a store with an embedding index (`index={\"dims\": 1536, \"embed\": \"openai:text-embedding-3-small\"}`), or `search_memory` cannot rank by meaning",
          "Use a database-backed store such as `AsyncPostgresStore` for anything that must survive a restart. `InMemoryStore` loses everything",
          "Put a per-user placeholder in the namespace and set it in `config[\"configurable\"]` on every call, or users share one memory space",
          "Send the memory `id` with `update` and `delete`, and never with `create`. A retried `create` writes a duplicate under a new UUID",
          "Run on Python 3.11 or later. `src/langmem/knowledge/extraction.py` uses `typing.NotRequired`, which Python 3.10 lacks"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.9
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 15,
          "payments": 60,
          "reliability": 32,
          "schema": 55,
          "security": 45,
          "transparency": 63
        },
        "provenanceScore": 55
      },
      "connect": {
        "install": "pip install -U langmem"
      },
      "letme": {
        "capability": "https://letme.dev/memory.store",
        "tool": "https://letme.dev/langmem"
      },
      "sameCompany": [
        "langgraph",
        "langsmith"
      ],
      "notable": [
        "The public API is ten names, among them `create_manage_memory_tool`, `create_search_memory_tool`, `create_memory_manager`, `create_memory_store_manager`, `create_prompt_optimizer` and `ReflectionExecutor` (https://github.com/langchain-ai/langmem/blob/main/src/langmem/__init__.py)",
        "`manage_memory` takes `content`, an `action` of create, update or delete, and an `id`. `search_memory` takes `query`, `limit` (default 10), `offset` and `filter` (https://github.com/langchain-ai/langmem/blob/main/src/langmem/knowledge/tools.py)",
        "PyPI lists 52 releases. The newest is 0.0.30 from 27 October 2025, with 0.0.29 on 28 July 2025 before it (https://pypi.org/project/langmem/)",
        "Commits to main since November 2025 are dependency updates and docs fixes. The last change under `src` is dated 28 July 2025 (https://github.com/langchain-ai/langmem/commits/main)",
        "The package declares Python 3.10 or later, while `extraction.py` on main uses `typing.NotRequired` from Python 3.11, and issues 81 and 83 about failed imports on 3.10 are open (https://github.com/langchain-ai/langmem/issues/81)",
        "LangChain's organisation security policy sends reports to two vulnerability disclosure programmes on Intigriti. The repository has no `SECURITY.md` of its own and no published advisories (https://github.com/langchain-ai/.github/blob/main/SECURITY.md)"
      ],
      "area": "agent-runtime",
      "details": [
        {
          "label": "Interface",
          "value": "Python library, `langmem` 0.0.30 on PyPI. No HTTP API, MCP server, CLI or npm package"
        },
        {
          "label": "Agent tools",
          "value": "Two LangChain tools. `manage_memory` (create, update, delete) and `search_memory` (query, limit, offset, filter)"
        },
        {
          "label": "Background memory",
          "value": "`create_memory_manager` returns extracted memories. `create_memory_store_manager` searches, inserts, updates and optionally deletes in the store. `ReflectionExecutor` delays and debounces the work"
        },
        {
          "label": "Storage",
          "value": "Any LangGraph `BaseStore` the owner supplies. The docs use `InMemoryStore` and name `AsyncPostgresStore` for production"
        },
        {
          "label": "Models",
          "value": "Any LangChain chat model by name or instance. `langchain-openai` and `langchain-anthropic` are required dependencies"
        },
        {
          "label": "Other modules",
          "value": "Message summarisation (`langmem.short_term`) and prompt optimisers (`create_prompt_optimizer`, `create_multi_prompt_optimizer`)"
        },
        {
          "label": "Python",
          "value": "Declares 3.10 or later. Source on main needs 3.11 for `typing.NotRequired`"
        },
        {
          "label": "Cost",
          "value": "Free software. LLM calls for extraction, embedding calls for search and the database are the owner's"
        }
      ],
      "provenance": {
        "legalEntity": "LangChain (the licence file gives no legal form)",
        "domain": "langchain.com",
        "domainRegistered": "2019-12-03",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "A library the owner runs, with no hosted endpoint. The code is on github.com under the langchain-ai organisation and the docs are on langchain-ai.github.io/langmem.",
          "The LICENSE file reads Copyright (c) 2025 LangChain. PyPI metadata names no author.",
          "No terms or privacy document governs the library, so both fields are left out. The MIT licence is the only agreement.",
          "No changelog file, GitHub releases or tags exist in the repository. PyPI's release history is the only record of versions.",
          "www.langchain.com/.well-known/security.txt returns 404. The organisation's SECURITY.md points to two Intigriti disclosure programmes.",
          "RDAP for langchain.com gives a registration date of 2019-12-03."
        ],
        "score": 55,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "LangChain (the licence file gives no legal form)",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "langchain.com, registered 2019-12-03 (6 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "no hosted endpoint",
            "points": 0,
            "max": 0,
            "state": "na"
          },
          {
            "check": "Terms of service",
            "value": "nothing hosted, so the MIT licence stands in",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Privacy policy",
            "value": "nothing hosted, not scored",
            "points": 0,
            "max": 0,
            "state": "na"
          },
          {
            "check": "Status page",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Changelog",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          }
        ]
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/langmem.json"
    },
    "verify": {
      "accepts": "a page on langchain.com or one of its subdomains, or the README of github.com/langchain-ai/langmem",
      "badgeUrl": "https://www.anchorterminal.com/badges/langmem.svg",
      "body": {
        "slug": "langmem",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/langmem",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/langmem\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/langmem.svg\" alt=\"LangMem on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![LangMem on Anchor Terminal](https://www.anchorterminal.com/badges/langmem.svg)](https://www.anchorterminal.com/tools/langmem)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/langmem\"\u003eLangMem on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/langmem",
    "json": "https://www.anchorterminal.com/tools/langmem.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/langmem.md",
    "slim": "https://www.anchorterminal.com/tools/langmem.min.md"
  },
  "markdown": "## Overview\n\n**Grade D · 47.9/100 · rank #734 of 842 · #9 in Agent memory · not agent-ready · confidence medium**\n\n\nMore from LangChain, listed separately because each is its own product: [LangGraph](https://www.anchorterminal.com/tools/langgraph.md) (Agent frameworks \u0026 SDKs), [LangSmith API + MCP](https://www.anchorterminal.com/tools/langsmith.md) (Agent observability \u0026 evals).\n\n## Assessment\n\nTwo compact, typed memory tools and a background extraction manager work with any LangGraph store, under the MIT licence with nothing to buy. The newest PyPI release, 0.0.30, dates from 27 October 2025. The repository has no changelog, tags or test workflow, and 23 of 54 open issues have no reply.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | LangChain (https://www.langchain.com) |\n| Kind | SDK + MCP |\n| Category | Agent memory (https://www.anchorterminal.com/categories/agent-memory) |\n| Auth | None · The library has no account or key of its own. It runs in the owner's process and needs a key for the chosen LLM provider (the README uses `ANTHROPIC_API_KEY`) and, for semantic search, an embedding provider. Access to memories is whatever the owner's LangGraph store and namespace settings allow. |\n| Pricing | Free (Free · OSS) · Free under the MIT licence, with nothing to buy and no signup. The owner pays for the LLM calls that extract memories, the embedding calls behind search, and the database behind the store (https://github.com/langchain-ai/langmem). |\n| x402 | No · No x402, MPP or L402 in the docs or the source (checked 2026-10-08). |\n| Licence | MIT |\n| Packages | pypi: `langmem` |\n| Source | https://github.com/langchain-ai/langmem |\n| Docs | https://langchain-ai.github.io/langmem/ |\n| llms.txt | not found |\n| Last release | 2025-10-27 |\n| GitHub stars | 1,698 (as of 2026-10-08) |\n| PyPI downloads / week | 214,379 |\n| Interface | Python library, `langmem` 0.0.30 on PyPI. No HTTP API, MCP server, CLI or npm package |\n| Agent tools | Two LangChain tools. `manage_memory` (create, update, delete) and `search_memory` (query, limit, offset, filter) |\n| Background memory | `create_memory_manager` returns extracted memories. `create_memory_store_manager` searches, inserts, updates and optionally deletes in the store. `ReflectionExecutor` delays and debounces the work |\n| Storage | Any LangGraph `BaseStore` the owner supplies. The docs use `InMemoryStore` and name `AsyncPostgresStore` for production |\n| Models | Any LangChain chat model by name or instance. `langchain-openai` and `langchain-anthropic` are required dependencies |\n| Other modules | Message summarisation (`langmem.short_term`) and prompt optimisers (`create_prompt_optimizer`, `create_multi_prompt_optimizer`) |\n| Python | Declares 3.10 or later. Source on main needs 3.11 for `typing.NotRequired` |\n| Cost | Free software. LLM calls for extraction, embedding calls for search and the database are the owner's |\n| Capabilities | memory.store, memory.search, memory.user, memory.delete |\n| Tags | sdk, open-source, self-hosted, local, python, free, langgraph, pre-1.0 |\n| JSON | https://www.anchorterminal.com/api/v1/tools/langmem.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-08 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 32 | 6.4 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 55 | 8.9 |\n| Agent ergonomics | 13% | 16.2 | 66 | 10.7 |\n| Security \u0026 auth | 14% | 17.5 | 45 | 7.9 |\n| Payments \u0026 pricing | 10% | 12.5 | 60 | 7.5 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 15 | 1.3 |\n| Transparency \u0026 trust (editorial 63, provenance 55) | 7% | 8.8 | 59 | 5.2 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **47.9 → D** |\n\n### Why each score\n\n- Reliability 32: Local-software reading. Installs from PyPI as `langmem` with Python 3.10 or later declared, but `extraction.py` on main uses `typing.NotRequired`, which arrived in Python 3.11, and issues 81 and 83 about failed imports on 3.10 are open. We read the source and did not run it on 3.10 (14 of 20). The repository holds tests (30 summarisation tests and a docstring-example runner), but its two workflows only deploy docs and publish to PyPI, so no public CI runs them (5 of 25). 54 open issues, 23 with no comment, among them a `TypeError` in summarisation from November 2025 (135), a schema mismatch between the tool and the store manager (138) and search missing memories written by the store manager (140) (8 of 25). Versions are 0.0.x with no changelog, GitHub releases or tags, and open issue 130 shows 0.0.30 was cut to restore compatibility with LangGraph 1.0 (5 of 15). Below 1.0 and not declared stable (0).\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 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).\n- Agent ergonomics 66: Two tools with short descriptions (25). `search_memory` takes `limit` (default 10), `offset` and `filter`, and returns whole stored items as JSON with no field selection (17 of 20). Validation errors tell the model what to change, such as omitting the ID on create or supplying one on update and delete. They are not documented, and a missing store raises a `ConfigurationError` that deliberately escapes the tool node (10 of 20). Update and delete by ID are safe to repeat. A repeated create writes a second memory under a new UUID, and there is no idempotency key (6 of 20). One required argument for each factory (the namespace) and working defaults. Python only, with an open request for TypeScript (issue 121) (8 of 15).\n- Security \u0026 auth 45: Local-software reading. The library holds no credential of its own and opens no port. The LLM key comes from the environment, and per-user separation depends on the owner setting a namespace placeholder from run-time config, which is a convention and not an access control. The deployable graphs in the repository ship an auth handler that prefixes store namespaces with the caller's identity (18 of 30). `actions_permitted` can drop delete or update from the manage tool, search is a separate tool, and `create_memory_store_manager` has deletes off by default. Nothing asks for confirmation before a delete (14 of 20). Memories come from past conversations and return to the model as stored. No guidance on poisoning or injection was found, and issues 163 and 164 proposing a guard (May 2026) have no reply (0 of 15). No audit log in the library. Store items carry created and updated timestamps (3 of 15). The organisation's SECURITY.md points to two Intigriti disclosure programmes, and an August 2026 commit resolves open Dependabot alerts. No `SECURITY.md` in this repository, no published advisories, no security.txt on langchain.com, and no certification was checked (10 of 20).\n- Payments \u0026 pricing 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.\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 15: 0.0.30 reached PyPI on 27 October 2025, 346 days before the check (0). No release in the last 90 days (0). Of 54 open issues 23 have no comment, 19 pull requests are open with the oldest from June 2025, and nine of the ten pull requests opened since 1 August 2026 have no comment. The four issues filed between 5 and 8 October 2026 are too new to count against it (5 of 25). One Python package, current on PyPI only as the year-old 0.0.30, and no TypeScript package (5 of 15). Dependabot updates the lockfile, with the latest merge on 2 October 2026 and a pass over open alerts in August, but no workflow runs tests (5 of 10).\n- Transparency \u0026 trust 59: 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).\n\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (17 items): https://www.anchorterminal.com/fixes/langmem.md (JSON https://www.anchorterminal.com/fixes/langmem.json)\n\n### What we couldn't check\n\n- We read `typing.NotRequired` in the source and the two open issues but did not run the package on Python 3.10.\n- Maintainer response is judged from comment counts on open issues and one thread read in full. Closed issues were not sampled.\n- unchecked: whether `langsmith` trace blocks in the prompt optimisers send anything without tracing environment variables set.\n- unchecked: LangChain's certifications and the terms of its hosted products, which do not govern this library.\n- Whether LangChain plans further LangMem releases is not stated in the repository or docs.\n- Issues 196 and 198, filed on 8 October 2026, report that the store manager returns success when a write fails and ignores `query_limit` above the store default. Neither was verified.\n\n### Sources\n\n- repository, README, licence, workflows and source (shallow clone of main at 48e3c11): \u003chttps://github.com/langchain-ai/langmem\u003e (seen 2026-10-08)\n- memory tools source: \u003chttps://github.com/langchain-ai/langmem/blob/main/src/langmem/knowledge/tools.py\u003e (seen 2026-10-08)\n- memory manager source: \u003chttps://github.com/langchain-ai/langmem/blob/main/src/langmem/knowledge/extraction.py\u003e (seen 2026-10-08)\n- PyPI metadata and release history: \u003chttps://pypi.org/pypi/langmem/json\u003e (seen 2026-10-08)\n- PyPI downloads: \u003chttps://pypistats.org/api/packages/langmem/recent\u003e (seen 2026-10-08)\n- docs site: \u003chttps://langchain-ai.github.io/langmem/\u003e (seen 2026-10-08)\n- memory tools guide: \u003chttps://langchain-ai.github.io/langmem/guides/memory_tools/\u003e (seen 2026-10-08)\n- llms.txt (404): \u003chttps://langchain-ai.github.io/langmem/llms.txt\u003e (seen 2026-10-08)\n- repository metadata, stars and open issue count: \u003chttps://api.github.com/repos/langchain-ai/langmem\u003e (seen 2026-10-08)\n- open issues and pull requests: \u003chttps://github.com/langchain-ai/langmem/issues\u003e (seen 2026-10-08)\n- issue 154, nine comments and none from a maintainer: \u003chttps://github.com/langchain-ai/langmem/issues/154\u003e (seen 2026-10-08)\n- repository security advisories (empty): \u003chttps://api.github.com/repos/langchain-ai/langmem/security-advisories\u003e (seen 2026-10-08)\n- LangChain organisation security policy: \u003chttps://github.com/langchain-ai/.github/blob/main/SECURITY.md\u003e (seen 2026-10-08)\n- security.txt (404): \u003chttps://www.langchain.com/.well-known/security.txt\u003e (seen 2026-10-08)\n- RDAP for langchain.com: \u003chttps://rdap.verisign.com/com/v1/domain/langchain.com\u003e (seen 2026-10-08)\n\n## Who's behind it (provenance 55/100, checked 2026-10-08)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | LangChain (the licence file gives no legal form) | 20/20 |\n| Domain age | langchain.com, registered 2019-12-03 (6 years) | 11/15 |\n| Endpoint on the vendor's domain | no hosted endpoint | n/a |\n| Terms of service | nothing hosted, so the MIT licence stands in | 10/10 |\n| Privacy policy | nothing hosted, not scored | n/a |\n| Status page | not found | 0/10 |\n| Changelog | not found | 0/10 |\n| security.txt | not found | 0/10 |\n\nA library the owner runs, with no hosted endpoint. The code is on github.com under the langchain-ai organisation and the docs are on langchain-ai.github.io/langmem.\n\nThe LICENSE file reads Copyright (c) 2025 LangChain. PyPI metadata names no author.\n\nNo terms or privacy document governs the library, so both fields are left out. The MIT licence is the only agreement.\n\nNo changelog file, GitHub releases or tags exist in the repository. PyPI's release history is the only record of versions.\n\nwww.langchain.com/.well-known/security.txt returns 404. The organisation's SECURITY.md points to two Intigriti disclosure programmes.\n\nRDAP for langchain.com gives a registration date of 2019-12-03.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service**. Nothing is hosted by the vendor, so there are no terms of service to read. The MIT licence stands in and the check scores in full.\n\n\n**Privacy policy**. Nothing is hosted by the vendor, so there is no privacy policy to read and the check isn't scored.\n\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Strengths\n\n- MIT licence, installed with `pip install -U langmem`, with no account, key or fee of its own\n- Two agent tools, `manage_memory` and `search_memory`, with typed inputs, an action enum and `limit`, `offset` and `filter` on search\n- `actions_permitted` limits the manage tool to any subset of create, update and delete, and `create_memory_store_manager` leaves deletes off by default\n- Namespace templates such as `(\"memories\", \"{langgraph_user_id}\")` keep each user's memories apart at run time\n- Works with any LangGraph `BaseStore`, including `InMemoryStore` for tests and `AsyncPostgresStore` for durable storage\n\n## Weaknesses\n\n- The newest PyPI release, 0.0.30, is from 27 October 2025, and every commit to `src` on main is older than that\n- No changelog, GitHub releases or tags, and versions are still 0.0.x\n- The repository's two workflows deploy docs and publish to PyPI. Neither runs the tests\n- 54 open issues, 23 with no comment, and 19 open pull requests, the oldest from June 2025\n- No guidance on memory poisoning or prompt injection found, and two open issues asking for it (May 2026) have no reply\n\n## Before you call it (notes for agents)\n\n1. Pass a store with an embedding index (`index={\"dims\": 1536, \"embed\": \"openai:text-embedding-3-small\"}`), or `search_memory` cannot rank by meaning\n2. Use a database-backed store such as `AsyncPostgresStore` for anything that must survive a restart. `InMemoryStore` loses everything\n3. Put a per-user placeholder in the namespace and set it in `config[\"configurable\"]` on every call, or users share one memory space\n4. Send the memory `id` with `update` and `delete`, and never with `create`. A retried `create` writes a duplicate under a new UUID\n5. Run on Python 3.11 or later. `src/langmem/knowledge/extraction.py` uses `typing.NotRequired`, which Python 3.10 lacks\n\n## Connect\n\nInstall:\n\n```bash\npip install -U langmem\n```\n\nThrough letme (picks today, calling later): https://letme.dev/langmem. letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Amazon Bedrock AgentCore Memory | A | 79.4 | 12 | memory.store, memory.search, memory.user, memory.delete | no | https://www.anchorterminal.com/tools/agentcore-memory.md |\n| Zep | B | 69.3 | 181 | memory.store, memory.search, memory.user, memory.delete | no | https://www.anchorterminal.com/tools/zep.md |\n| Honcho | B | 64.1 | 328 | memory.store, memory.search, memory.user, memory.delete | yes | https://www.anchorterminal.com/tools/honcho.md |\n| Supermemory API + MCP | B | 63.6 | 348 | memory.store, memory.search, memory.user, memory.delete | no | https://www.anchorterminal.com/tools/supermemory.md |\n| Mem0 Platform + MCP | C | 56.1 | 575 | memory.store, memory.search, memory.user, memory.delete | no | https://www.anchorterminal.com/tools/mem0.md |\n| LocalGhost | D | 52.6 | 648 | memory.store, memory.search, memory.user, memory.delete | no | https://www.anchorterminal.com/tools/localghost.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The public API is ten names, among them `create_manage_memory_tool`, `create_search_memory_tool`, `create_memory_manager`, `create_memory_store_manager`, `create_prompt_optimizer` and `ReflectionExecutor` (source: \u003chttps://github.com/langchain-ai/langmem/blob/main/src/langmem/__init__.py\u003e)\n- `manage_memory` takes `content`, an `action` of create, update or delete, and an `id`. `search_memory` takes `query`, `limit` (default 10), `offset` and `filter` (source: \u003chttps://github.com/langchain-ai/langmem/blob/main/src/langmem/knowledge/tools.py\u003e)\n- PyPI lists 52 releases. The newest is 0.0.30 from 27 October 2025, with 0.0.29 on 28 July 2025 before it (source: \u003chttps://pypi.org/project/langmem/\u003e)\n- Commits to main since November 2025 are dependency updates and docs fixes. The last change under `src` is dated 28 July 2025 (source: \u003chttps://github.com/langchain-ai/langmem/commits/main\u003e)\n- The package declares Python 3.10 or later, while `extraction.py` on main uses `typing.NotRequired` from Python 3.11, and issues 81 and 83 about failed imports on 3.10 are open (source: \u003chttps://github.com/langchain-ai/langmem/issues/81\u003e)\n- LangChain's organisation security policy sends reports to two vulnerability disclosure programmes on Intigriti. The repository has no `SECURITY.md` of its own and no published advisories (source: \u003chttps://github.com/langchain-ai/.github/blob/main/SECURITY.md\u003e)\n\n## Compare\n\n- [Amazon Bedrock AgentCore Memory vs LangMem](https://www.anchorterminal.com/compare/agentcore-memory-vs-langmem.md): A 79.4 vs D 47.9\n- [Cognee vs LangMem](https://www.anchorterminal.com/compare/cognee-vs-langmem.md): C 54.6 vs D 47.9\n- [Graphiti vs LangMem](https://www.anchorterminal.com/compare/graphiti-vs-langmem.md): D 53.3 vs D 47.9\n- [Hindsight vs LangMem](https://www.anchorterminal.com/compare/hindsight-vs-langmem.md): D 50.2 vs D 47.9\n- [Honcho vs LangMem](https://www.anchorterminal.com/compare/honcho-vs-langmem.md): B 64.1 vs D 47.9\n- [LangMem vs LocalGhost](https://www.anchorterminal.com/compare/langmem-vs-localghost.md): D 47.9 vs D 52.6\n- [LangMem vs Mem0 Platform + MCP](https://www.anchorterminal.com/compare/langmem-vs-mem0.md): D 47.9 vs C 56.1\n- [LangMem vs Supermemory API + MCP](https://www.anchorterminal.com/compare/langmem-vs-supermemory.md): D 47.9 vs B 63.6\n- [LangMem vs Zep](https://www.anchorterminal.com/compare/langmem-vs-zep.md): D 47.9 vs B 69.3\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on langchain.com or one of its subdomains, or the README of github.com/langchain-ai/langmem. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"langmem\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/langmem\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/langmem.svg\" alt=\"LangMem on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![LangMem on Anchor Terminal](https://www.anchorterminal.com/badges/langmem.svg)](https://www.anchorterminal.com/tools/langmem)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/langmem\"\u003eLangMem on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say LangMem is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/langmem-dark.png\n- Light: https://www.anchorterminal.com/assets/share/langmem-light.png\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Agent memory",
        "url": "https://www.anchorterminal.com/categories/agent-memory"
      },
      {
        "name": "LangMem",
        "url": ""
      }
    ],
    "description": "LangMem is LangChain's open-source Python library for long-term agent memory. It extracts facts from conversations with an LLM, stores and searches them in a LangGraph store the owner runs, and includes two memory tools, message summarisation and prompt optimisation.",
    "facts": [
      "rank #734 of 842",
      "None auth",
      "0 desk reviews"
    ],
    "h1": "LangMem",
    "image": "https://www.anchorterminal.com/assets/og/tools-langmem.png",
    "path": "/tools/langmem",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LangMem review for AI agents, grade D (47.9/100) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/tools/langmem"
  },
  "tokens": {
    "markdown": 5800,
    "slim": 1330
  },
  "version": 1
}
