{
  "data": {
    "a": {
      "slug": "basic-memory",
      "name": "Basic Memory",
      "vendor": "Basic Memory LLC",
      "vendorUrl": "https://basicmemory.com",
      "kind": "mcp",
      "category": "agent-memory",
      "summary": "Basic Memory is an open-source MCP server and CLI that keeps an AI assistant's memory as Markdown notes on the user's disk, with full-text, semantic and graph search, plus an optional paid cloud for shared team memory.",
      "url": "https://www.anchorterminal.com/tools/basic-memory",
      "markdownUrl": "https://www.anchorterminal.com/tools/basic-memory.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/basic-memory.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/basic-memory.json",
      "dns": "basic-memory.grade.anchorterminal.com",
      "repo": "https://github.com/basicmachines-co/basic-memory",
      "license": "AGPL-3.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "basic-memory"
        }
      ],
      "auth": "none",
      "authNotes": "The local stdio server needs no credential and works inside configured project folders. Basic Memory Cloud uses OAuth 2.1 through WorkOS, with API keys that are read-only or project-scoped on Pro and above.",
      "pricing": "freemium",
      "pricingNotes": "The open-source server is free. Cloud is $19 a month for up to 2 members with 1,900 credits and a 7-day trial, Pro $99 a month for 5 members, Business $249 a month for 25. Usage credits are $0.01 each.",
      "priceSummary": "$19 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, docs, llms.txt or pricing (checked 2026-11-06). Cloud subscriptions are paid through Polar.sh per the terms.",
        "endpoints": []
      },
      "toolCount": 13,
      "popularity": {
        "githubStars": 4509,
        "npmWeekly": null,
        "pypiWeekly": 19662,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.basicmemory.com",
      "llmsTxt": "https://docs.basicmemory.com/llms.txt",
      "registryName": "io.github.basicmachines-co/basic-memory",
      "capabilities": [
        "memory.store",
        "memory.search",
        "memory.graph",
        "memory.delete"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "hosted",
        "freemium",
        "agpl-3.0",
        "python",
        "mcp",
        "mcp-registry",
        "markdown",
        "llms-txt",
        "telemetry",
        "oauth"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 76.9,
        "grade": "BB",
        "agentReady": true,
        "rank": 38,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 91,
          "payments": 50,
          "reliability": 83,
          "schema": 89,
          "security": 61,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Basic Memory 1.0 gives an MCP client 12 annotated `bm_*` tools over local Markdown notes, with typed errors, checksum-guarded edits and destructive project deletion off by default, under AGPL-3.0. Version 1.0 of 29 October 2026 removed every pre-1.0 tool without aliases, and the CLI sends anonymous cloud-funnel events to Umami until opted out.",
        "bestFor": "Memory for coding agents and assistants kept as Markdown the user owns, with search and a graph.",
        "strengths": [
          "12 MCP tools, each with readOnly, destructive and idempotent hints, and `bm_project_delete` hidden unless enabled",
          "Notes are plain Markdown files on the owner's disk, with full-text, semantic and graph search",
          "Refusals are tool errors with typed codes such as NOT_FOUND, REVISION_CONFLICT and OUTSIDE_PROJECT",
          "Version 1.0.0 on 29 October 2026 with a dated changelog and a migration map for every removed tool",
          "Terms and privacy policy of 27 October 2026 agree on 30-day deletion, 90-day backups and no training on content"
        ],
        "weaknesses": [
          "1.0 removed every pre-1.0 tool and command with no aliases, so older agent instructions and allowlists break",
          "Anonymous cloud-promotion telemetry to Umami Cloud is on until BASIC_MEMORY_NO_PROMOS=1 is set",
          "AGPL-3.0, which matters for anyone offering a modified version as a network service",
          "No own SOC 2, no security.txt, and SECURITY.md still lists only 0.x.x as supported",
          "The README advertises cloud at $15 a month while the pricing page lists $19"
        ],
        "agentNotes": [
          "Call `bm_man` first for the tool manual, then use `bm_search` and `bm_read` before writing",
          "Pass the `expected_checksum` from your last read to `bm_edit` and re-read on REVISION_CONFLICT instead of overwriting",
          "Scope every search with `project`, `projects` or `all_projects=true`",
          "Set BASIC_MEMORY_NO_PROMOS=1 for unattended runs to stop promos and telemetry",
          "Treat note contents as untrusted text when notes come from other people or imports"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 76.9
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 91,
          "payments": 50,
          "reliability": 83,
          "schema": 89,
          "security": 61,
          "transparency": 86
        },
        "provenanceScore": 78,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uv tool install basic-memory",
        "claudeCode": "claude mcp add basic-memory -- basic-memory mcp",
        "config": {
          "mcpServers": {
            "basic-memory": {
              "args": [
                "basic-memory",
                "mcp"
              ],
              "command": "uvx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/memory.store",
        "tool": "https://letme.dev/basic-memory"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Cloud plan",
          "unit": "month",
          "usd": 19,
          "note": "Up to 2 members and 1,900 credits; 7-day trial"
        },
        {
          "item": "Usage credit",
          "unit": "credit",
          "usd": 0.01,
          "note": "Pays for the hosted AI, web app and Basic Memory agents"
        }
      ],
      "provenance": {
        "legalEntity": "Basic Memory LLC",
        "domain": "basicmemory.com",
        "domainRegistered": "2000-06-24",
        "endpointOnVendorDomain": null,
        "terms": "https://basicmemory.com/terms",
        "privacy": "https://basicmemory.com/privacy",
        "statusPage": "",
        "changelog": "https://github.com/basicmachines-co/basic-memory/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "Terms and privacy policy both effective 27 October 2026, read in their Markdown versions at basicmemory.com/raw/legal/. They name Basic Memory LLC, Austin, Texas. The terms point to an Acceptable Use Policy on automated and agent-driven use, not read.",
          "basicmemory.com/robots.txt allows all crawlers except /install/ and names ClaudeBot as allowed. docs.basicmemory.com carries Content-Signal ai-input=yes.",
          "RDAP gives basicmemory.com a registration date of 24 June 2000, which predates the product, so the domain was probably bought later.",
          "/.well-known/security.txt returns 404. SECURITY.md gives hello@basicmachines.co with a 72-hour response aim."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/basic-memory.json",
      "live": {
        "slug": "basic-memory",
        "versions": [
          {
            "registry": "github",
            "name": "basicmachines-co/basic-memory",
            "version": "v1.0.0",
            "released": "2026-10-29",
            "seenAt": "2026-11-06T23:10:24.344334834Z"
          },
          {
            "registry": "pypi",
            "name": "basic-memory",
            "version": "1.0.0",
            "released": "2026-10-29",
            "seenAt": "2026-11-06T23:10:24.086880294Z"
          }
        ],
        "githubStars": 4513,
        "securityTxt": {
          "url": "https://basicmemory.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:33.039496203Z"
        },
        "llmsTxt": {
          "url": "https://docs.basicmemory.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:42.053120181Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/basicmachines-co/basic-memory/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:20:09.92162468Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f0d13083be72"
          },
          {
            "url": "https://basicmemory.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T13:59:59.298399437Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "653d0ae981d7"
          },
          {
            "url": "https://basicmemory.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:00:03.097753192Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bb02aea11329"
          }
        ],
        "updatedAt": "2026-11-07T15:59:33.039496203Z"
      }
    },
    "answer": "Basic Memory scores 76.9 (BB) on agent readiness against Hy Memory's 53.8 (D), and leads in 6 of 7 scored categories. Hy Memory leads on payments \u0026 pricing.",
    "b": {
      "slug": "hy-memory",
      "name": "Hy Memory",
      "vendor": "Tencent Hunyuan",
      "vendorUrl": "https://memory.hunyuan.tencent.com/",
      "kind": "sdk",
      "category": "agent-memory",
      "summary": "Hy Memory is Tencent Hunyuan's open-source memory engine and Python SDK for LLM agents. `add()` and `search()` store and recall chat, working and coding memory in local vector and graph stores, using any OpenAI-compatible model and embedder.",
      "url": "https://www.anchorterminal.com/tools/hy-memory",
      "markdownUrl": "https://www.anchorterminal.com/tools/hy-memory.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/hy-memory.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hy-memory.json",
      "dns": "hy-memory.grade.anchorterminal.com",
      "repo": "https://github.com/Tencent-Hunyuan/Hy-Memory",
      "license": "Apache-2.0 (PyPI metadata for the 1.x releases and 2.0.1 says MIT; 2.0.2 carries Apache-2.0)",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "hy-memory"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key of its own. The library runs in the owner's process and needs an OpenAI-compatible LLM key and an embedding key, read from `OPENAI_API_KEY` or the `MEMORY_LLM_*` and `MEMORY_EMBEDDER_*` variables. Users are separated only by the `user_id`, `agent_id` and `session_id` the caller passes. The optional local server (`python -m hy_memory.server`, 127.0.0.1 port 19527) has no authentication.",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0, with nothing to buy and no signup. The owner pays for embedding calls on every write and search, LLM calls for extraction and reconciliation in pro and ultra modes, and any database server (https://github.com/Tencent-Hunyuan/Hy-Memory/blob/main/README.md).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, docs or source read on 16 October 2026. Self-hosted open-source library with no paid endpoint.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 27,
        "npmWeekly": null,
        "pypiWeekly": 147,
        "asOf": "2026-10-16"
      },
      "docsUrl": "https://github.com/Tencent-Hunyuan/Hy-Memory/blob/main/docs/usage.md",
      "capabilities": [
        "memory.store",
        "memory.search",
        "memory.user",
        "memory.graph",
        "memory.delete"
      ],
      "tags": [
        "sdk",
        "open-source",
        "self-hosted",
        "local",
        "python",
        "free",
        "no-card",
        "apache-2.0",
        "openai-compatible",
        "knowledge-graph"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.8,
        "grade": "D",
        "agentReady": false,
        "rank": 931,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 19,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 76,
          "payments": 60,
          "reliability": 65,
          "schema": 55,
          "security": 37,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -6,
        "negativeNotes": [
          "2026-11-02. `hy-memory` 2.0.13, a patch release, removed the degraded fallback on writes. A write whose reconcile model call failed used to store every extracted memory as-is and return `success: true`, and extraction or embedding failures also reported success. These writes now store nothing and return `success: false`. The changelog calls it a behaviour change for direct SDK users, posted on release day with no earlier notice or pre-release found. The 2.0.5 change of 22 October, which turned the coding search version-diff block off by default, falls within the same term (-3). https://github.com/Tencent-Hunyuan/Hy-Memory/blob/main/CHANGELOG.md",
          "2026-10-22. `hy-memory` 2.0.5 shipped fixes for two flaws its commits describe. Session-scoped searches ran intention recall with no tenancy filter and could return every user's intentions, and intention dedup could hard-delete another user's similar intention (commit 514bf5c, #81). Coding retrieval dropped agent and session filters, so one agent or session could recall another's facts (commit 4bc918a, #87). The changelog says only that coding reconciliation was tightened, and OSV lists no advisory (-3). https://github.com/Tencent-Hunyuan/Hy-Memory/commit/514bf5c"
        ],
        "verdict": "An Apache-2.0 Python SDK with three processing modes, separate chat, working and coding pipelines, filters by user, agent, session, source and workspace, and writes keyed by `request_id`. Deletion does not stick everywhere. Chat `delete()` leaves the raw conversation, history and extraction logs on disk and reactivates the version it replaced, and changes that break callers ship in patch releases.",
        "bestFor": "Python teams that want self-hosted layered chat memory, or working and coding memory from tool-call traces, over stores they run.",
        "strengths": [
          "Apache-2.0 SDK on PyPI with nothing to buy and no account, working with any OpenAI-compatible LLM and embedding endpoint",
          "`lite` mode stores and searches raw text with embeddings only and makes no LLM calls",
          "`add()` stores one outcome per `request_id`, so a retried write with the same id returns the first result",
          "Filters by user, agent, session, caller source, workspace and branch, applied in the store before results are cut to the limit",
          "Thirteen dated SDK releases between 16 October and 2 November 2026, each with a changelog entry"
        ],
        "weaknesses": [
          "Chat `delete()` leaves the source conversation, the deleted text in `history.db` and extraction prompts in `cache.db`, and reactivates a superseded fact",
          "2.0.13, a patch release, changed degraded writes from success to failure, so a write that stored memories as-is now stores nothing, posted on release day",
          "2.0.5 fixed cross-user intention recall and cross-agent coding recall with no advisory",
          "The guides under docs/ and the docstrings are mostly in Chinese. Only the README is in English",
          "The bundled local HTTP server has no authentication and sends `Access-Control-Allow-Origin: *` on every response"
        ],
        "agentNotes": [
          "Pass `user_id` on every `add()` and `user_ids` on every `search()`. Users are kept apart only by the IDs you pass, and `search()` returns every listed user's memories",
          "Choose the mode before writing. `lite` makes no LLM calls and stores raw text. `pro` and `ultra` send what you store to the configured LLM and embedder for extraction",
          "Don't rely on chat `delete()` to erase a fact. The raw conversation, `history.db` and `cache.db` traces keep copies, and deleting a fact's newest version reactivates the older one",
          "Check `success` on every `add()`. Since 2.0.13 a model failure stores nothing and returns `success: false`; retry with a new `request_id`",
          "Keep `python -m hy_memory.server` on 127.0.0.1. It has no authentication and allows any web origin"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.8
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 76,
          "payments": 60,
          "reliability": 65,
          "schema": 55,
          "security": 37,
          "transparency": 50
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install hy-memory   # or: pip install \"hy-memory[qdrant]\""
      },
      "letme": {
        "capability": "https://letme.dev/memory.store",
        "tool": "https://letme.dev/hy-memory"
      },
      "sameCompany": [
        "tencentdb-agent-memory",
        "hy3"
      ],
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "Tencent",
        "domain": "tencent.com",
        "domainRegistered": "1998-09-14",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/Tencent-Hunyuan/Hy-Memory/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-16",
        "notes": [
          "LICENSE reads 'Copyright (C) 2026 Tencent. All rights reserved.' above the Apache-2.0 text, and the website footer reads '© 2026 Tencent Hunyuan'. No fuller legal name was found.",
          "The website is memory.hunyuan.tencent.com and the repository is under GitHub's Tencent-Hunyuan organisation. RDAP at Verisign gives tencent.com a registration date of 14 September 1998.",
          "No terms or privacy policy applies to the SDK beyond the Apache-2.0 licence, and the website links none. MemHub has its own PRIVACY.md. There is no hosted endpoint, so no status page.",
          "security.txt returns 404 on memory.hunyuan.tencent.com and www.tencent.com. SECURITY.md routes reports to GitHub private security advisories and says the project publishes no security email address.",
          "CHANGELOG.md dates 2.0.1 to 16 October and 2.0.2 to 17 October 2026 (Beijing time). PyPI's upload times are 15 October 17.24 UTC and 16 October 16.01 UTC.",
          "WebFetch read the GitHub front page only. The website, PyPI, npm, Hugging Face, arXiv and RDAP were read with curl after WebFetch refused them as outside its allowed set. memory.hunyuan.tencent.com has no robots.txt (404)."
        ],
        "score": 75
      },
      "requirements": {
        "setupChecked": true,
        "complianceChecked": true,
        "card": "no",
        "freeTier": true,
        "minutes": 10,
        "credential": "api-key",
        "hosting": [
          "self-hosted"
        ],
        "euResidency": "unknown",
        "trainsOnData": "no",
        "zeroRetention": "unknown",
        "selfHost": "yes"
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/hy-memory.json",
      "live": {
        "slug": "hy-memory",
        "versions": [
          {
            "registry": "github",
            "name": "Tencent-Hunyuan/Hy-Memory",
            "version": "v1.0.6",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:33:41.589209463Z"
          },
          {
            "registry": "pypi",
            "name": "hy-memory",
            "version": "2.0.14",
            "released": "2026-11-04",
            "seenAt": "2026-11-06T23:33:41.379416625Z"
          }
        ],
        "githubStars": 1989,
        "pypiWeekly": 1800,
        "securityTxt": {
          "url": "https://tencent.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-07T16:01:57.23927149Z"
        },
        "domain": {
          "domain": "tencent.com",
          "registered": "1998-09-14",
          "source": "https://rdap.verisign.com/com/v1/domain/tencent.com",
          "checkedAt": "2026-11-01T14:16:02.443593707Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Tencent-Hunyuan/Hy-Memory/main/CHANGELOG.md",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:19:31.496512599Z",
            "changedAt": "2026-11-06T13:40:55.639948724Z",
            "fingerprint": "7cc9a4d250a7"
          }
        ],
        "github": {
          "repo": "tencent-hunyuan/hy-memory",
          "checkedAt": "2026-11-02T09:31:05.910160196Z",
          "stars": 1915,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T09:29:10Z",
          "openIssues": 43,
          "openPRs": 42,
          "issuesOpened90d": 80,
          "issuesClosed90d": 37,
          "prsMerged90d": 148,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 49,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T08:48:41Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 11,
            "medianDays": 3.2
          }
        },
        "updatedAt": "2026-11-07T16:01:57.23927149Z"
      }
    },
    "edges": [
      {
        "by": 34,
        "category": "schema",
        "leads": "basic-memory",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Typed JSON Schema inputs on every tool from Pydantic annotations (25). llms.txt on the site and the docs, with Markdown versions of pages (10). Descriptions say what each tool does and point to the next tool, such as `bm_search` ending with \"Read full notes with bm_read\", and `bm_man` serves the manual, with less on when not to use a tool (16 of 20). Closed values for search mode, edit command and schema command, with aliases accepted for common argument names (13 of 15). Typed refusal codes are documented in the changelog and docs, with fewer worked examples per tool (11 of 15). Dated changelog and MCP registry versions, plus an unreleased breaking change after 1.0 (14 of 15). Total 89.",
          "b": "Library reading. No OpenAPI or tool schema applies, and the SDK defines no agent tools. Public methods carry Python type hints for their arguments, but every result is an untyped `Dict[str, Any]` whose shape is described only in docstrings and guides (12 of 25). No llms.txt on memory.hunyuan.tencent.com per the 16 October check, not re-read on 4 November. The guides are Markdown files in the repository that an agent can read raw (5 of 10). Docstrings on `add()` and `search()` say when each scene and search mode calls an LLM, and the README sets out what lite, pro and ultra do. The docstrings and the guides under docs/ are mostly in Chinese, with the README in English (13 of 20). `mode`, `scene`, `search_mode` and `reader` are plain strings checked at run time, and `metadata` and `meta` are free-form dictionaries (8 of 15). Worked examples in the README and guides. Since 2.0.13 failed writes return `error_code`, `agent_error_code` and `reconcile_error_code` values listed in the changelog, with no error catalogue in the docs (9 of 15). CHANGELOG.md covers every SDK release from 2.0.1 to 2.0.13, while docs/usage.md still pins 2.0.4 for every install line (8 of 15)."
        },
        "scores": {
          "a": 89,
          "b": 55
        }
      },
      {
        "by": 24,
        "category": "security",
        "leads": "basic-memory",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Local stdio server with no credential, and cloud OAuth 2.1 through WorkOS with read-only or project-scoped keys on Pro (22 of 30). Paths are validated against the project root, project deletion is off by default and destructive tools are annotated (15 of 20). SECURITY.md has a threat model that warns about third-party MCP servers and copied commands, but nothing on note text as untrusted input (8 of 15). A local log file, and cloud audit logs only on Business (8 of 15). SECURITY.md gives an email and a 72-hour response aim but lists only 0.x.x as supported; no security.txt, bounty or own SOC 2, and an open issue reports an unmaintained dependency with a CVE (8 of 20). Total 61.",
          "b": "Local-software reading, as for LangMem and Graphiti. The SDK holds no credential of its own and opens no port. LLM and embedder keys come from the environment or a `.env` file. Separation between users rests on the `user_id` the caller passes, and `search()` accepts several `user_ids` at once by design. The bundled `python -m hy_memory.server`, which the OpenClaw plugin starts, listens on 127.0.0.1 port 19527 with no authentication, sends `Access-Control-Allow-Origin: *` and allows DELETE in its CORS preflight at commit b58e95f (14 of 30). No read-only mode. `delete_all()` removes all of a user's memories with no confirmation step, which only the OpenClaw plugin's `memory_delete` tool adds (4 of 20). Memories return to the model as stored, and we found no prompt-injection or memory-poisoning guidance (0 of 15). On by default, `history.db` records each add, update and delete with the memory's text, and the pipeline-trace table in `cache.db` keeps extraction prompts and responses. Since 2.0.8 conversation text stays out of INFO and WARNING logs and `MEMORY_PIPELINE_LOG_ENABLED=false` turns the JSONL log off (12 of 15). SECURITY.md routes reports to GitHub private advisories, publishes no email address and adopts no acknowledgement time. No security.txt on memory.hunyuan.tencent.com or www.tencent.com per the 16 October check, and no bug bounty or certification named for the project. OSV lists no advisory for `hy-memory` on 4 November (7 of 20)."
        },
        "scores": {
          "a": 61,
          "b": 37
        }
      },
      {
        "by": 19,
        "category": "transparency",
        "leads": "basic-memory",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "AGPL-3.0, an OSI licence (30). The terms and privacy policy of 27 October 2026 agree on 30-day retention after cancellation, backups up to 90 days and no training on or sale of content, and name the infrastructure providers (26 of 30). The 1.0 release ships a migration guide mapping every removed tool and command, without a written deprecation period (14 of 20). Telemetry is disclosed in the README with what is and isn't sent and one opt-out, but it is on by default (16 of 20). Total 86.",
          "b": "Apache-2.0 in LICENSE and in pyproject.toml at 2.0.13. CHANGELOG.md says 2.0.1 kept the MIT licence metadata it was published with and 2.0.2 carries Apache-2.0, and the 1.x releases went out with MIT metadata per the 16 October check. The OpenClaw plugin source (1.1.10) says Apache-2.0, while the npm package `openclaw-hy-memory` 1.2.4 was marked MIT per the 16 October check, not re-read on 4 November (25 of 30). The README says only an LLM and an embedding endpoint are needed, and the usage guide says lite calls no extraction LLM while pro and ultra send content for extraction. Nothing says in one place what the SDK keeps on disk. Since 2.0.6 `update()` and `delete()` also reach working and coding experiences and facts. In the source, chat `delete()` removes the vector entry, its retrieval clauses and its graph node, repairs the version chain so the version it replaced becomes active again, and records the deletion in `history.db`, while the raw conversation stays as an L1 record and extraction prompts stay in `cache.db`. 2.0.10 trims assistant and tool turns in stored raw conversations (10 of 30). No deprecation policy. The 2.0.5 default change to coding search and the 2.0.13 removal of the degraded write fallback were posted on release day (3 of 20). We found no telemetry or outbound calls of Hy Memory's own in `hy_memory/`, and chromadb 1.5.9 in uv.lock pulls in no PostHog client. Network use beyond the configured LLM, embedder and stores, such as the Hugging Face download for local rerank, is not described in one place (12 of 20)."
        },
        "scores": {
          "a": 82,
          "b": 63
        }
      },
      {
        "by": 18,
        "category": "reliability",
        "leads": "basic-memory",
        "name": "Reliability",
        "reasons": {
          "a": "Local-software lines, as a stdio MCP server the owner runs. `basic-memory` on PyPI with Python 3.12 or newer stated, installed with uv (20). Test, SQLite lifecycle and Docker workflows run on the repository, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 74 open issues and pull requests against 200 commits in the 90 days, with recent bug reports answered by a maintainer within days and one flaky-CI issue open (18 of 25). The changelog calls out breaking changes in their own sections (15). v1.0.0 on 29 October 2026 (15). Total 83.",
          "b": "Local-software reading of the Python SDK. `hy-memory` installs from PyPI with Python 3.9 or later declared in pyproject.toml at 2.0.13 and extras for Qdrant, FAISS, Neo4j, MySQL and local rerank (20). A public CI workflow runs the whole pytest suite (133 `test_*.py` files at commit b58e95f) on Python 3.12 only, on pushes to main and on pull requests. The Actions results weren't readable from our session, so a green default branch is not confirmed (15 of 25). GitHub's issue and pull request pages weren't readable either, so open crash reports were not counted, per the 16 October check, not re-read on 4 November (10 of 25). CHANGELOG.md now has a dated entry for each SDK release from 2.0.1 to 2.0.13 and labels the 2.0.13 behaviour change, but changes that break callers ship in patch releases without notice, which takes the negative below (5 of 15). Version 2.0.13 (15)."
        },
        "scores": {
          "a": 83,
          "b": 65
        }
      },
      {
        "by": 15,
        "category": "maintenance",
        "leads": "basic-memory",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v1.0.0 on 29 October 2026 (30). v0.24.0 and v0.24.1 on 22 October and v1.0.0, three releases in 90 days (20). Recent issues from outside users got maintainer replies within a few days (20 of 25). Verified namespace io.github.basicmachines-co/basic-memory in the official MCP registry, published by a workflow (15). uv.lock and CI, with an open report of an unmaintained dependency (6 of 10). Total 91.",
          "b": "`hy-memory` 2.0.13 is dated 2 November 2026 in CHANGELOG.md, with the release commit 6c235ef the same day (30). Thirteen SDK releases in the 90 days from 6 August, 2.0.1 on 16 October to 2.0.13 on 2 November, each with a dated changelog entry (20). The 2.0.5 development previews of 21 October aren't counted. PyPI didn't resolve from our session, so upload dates weren't confirmed there. 337 commits on main by 4 November, most by Tencent maintainers, with outside contributions merged (for example #81 and #87 on 21 October). Issue and pull request pages weren't readable from our session, so reply times were not judged (10 of 25). One current official package, Python only. There is no MCP server, so the registry line does not apply (10 of 15). CI with pinned actions runs on every push to main, and a uv.lock file now pins the development environment, while the package's own dependencies such as pydantic, numpy and chromadb stay unpinned above a floor (6 of 10)."
        },
        "scores": {
          "a": 91,
          "b": 76
        }
      },
      {
        "by": 13,
        "category": "ergonomics",
        "leads": "basic-memory",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "13 tools, one hidden unless enabled, so the 11 to 30 band (15), with 6 back for the manual tool and the progressive-discovery tags (21 of 25). Search narrows by mode, filters, note types, items, `since`, `path` and line context (18 of 20). Refusals are tool errors with typed codes an agent can act on (17 of 20). Every tool has readOnly, destructive and idempotent hints, and edits take an expected checksum that refuses a stale write (19 of 20). Most arguments are optional and the server starts with one command, but there is one language and no SDK beyond the CLI (10 of 15). Total 85.",
          "b": "Read as a library with the API lines. `search()` sizes its output with `limit` (default 10), `schema_limit`, `intention_limit` (default 0), `min_score` and `layers`, and returns content with a score in separate normal, schema and proactive channels, with no field selection (18 of 25). Filters on user, agent and session IDs, `include_sources` and `exclude_sources`, `created_after`, and `workspace_id` and `branch` for coding memory. `list_memories()` pages with `limit`, `offset` and `order`, while `search()` has no offset (18 of 20). Invalid arguments raise `ValueError` with a message, and since 2.0.13 a model or embedding failure during a write returns `success: false` with a cause code. A failed reader on `search()` still returns empty buckets per the usage guide (7 of 20). Since 2.0.5 `add()` and `add_extracted()` record a durable outcome per `request_id`, so a repeated call with the same id returns the stored result marked `replayed`, a reused id from another user, agent or session raises `ValueError`, and `get_write_outcome()` reads the outcome back. `update()` and `delete()` by ID are safe to repeat (20). One constructor works with only `OPENAI_API_KEY` set, defaulting to gpt-4.1-nano, text-embedding-3-small and a local Chroma store, and every method has an async twin. Python only (9 of 15)."
        },
        "scores": {
          "a": 85,
          "b": 72
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Basic Memory LLC",
        "b": "Tencent Hunyuan",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0",
        "b": "Apache-2.0 (PyPI metadata for the 1.x releases and 2.0.1 says MIT; 2.0.2 carries Apache-2.0)",
        "name": "Licence"
      },
      {
        "a": "13",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "io.github.basicmachines-co/basic-memory",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-29",
        "b": "2026-11-02",
        "name": "Last release"
      },
      {
        "a": "2026-10-27",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-27",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.5k stars, 20k PyPI/wk",
        "b": "27 stars, 147 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Basic Memory scores 76.9 (BB) on agent readiness against Hy Memory's 53.8 (D), and leads in 6 of 7 scored categories. Hy Memory leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Basic Memory or Hy Memory?"
      },
      {
        "answer": "Basic Memory runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Hy Memory.",
        "question": "Can an agent call Basic Memory and Hy Memory without installing anything?"
      },
      {
        "answer": "Yes. Basic Memory is open source (AGPL-3.0). Hy Memory is open source (Apache-2.0 (PyPI metadata for the 1.x releases and 2.0.1 says MIT; 2.0.2 carries Apache-2.0)).",
        "question": "Are Basic Memory and Hy Memory open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 65",
          "Schema \u0026 documentation, 89 against 55",
          "Agent ergonomics, 85 against 72",
          "Security \u0026 auth, 61 against 37",
          "Maintenance \u0026 community, 91 against 76",
          "Transparency \u0026 trust, 82 against 63"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine",
          "No incidents deducted, where Hy Memory loses 6 points for them"
        ],
        "goodFor": "Memory for coding agents and assistants kept as Markdown the user owns, with search and a graph.",
        "slug": "basic-memory",
        "watchFor": "1.0 removed every pre-1.0 tool and command with no aliases, so older agent instructions and allowlists break"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 50"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Python teams that want self-hosted layered chat memory, or working and coding memory from tool-call traces, over stores they run.",
        "slug": "hy-memory",
        "watchFor": "Chat `delete()` leaves the source conversation, the deleted text in `history.db` and extraction prompts in `cache.db`, and reactivates a superseded fact"
      }
    ],
    "history": {
      "basic-memory": null,
      "hy-memory": [
        {
          "causes": [
            "product",
            "event"
          ],
          "date": "2026-11-04",
          "delta": -4,
          "from": 57.8,
          "fromGrade": "C",
          "to": 53.8,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 57.7,
          "fromGrade": "C",
          "to": 57.8,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "memory.store",
      "name": "Agent memory"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-memory-vs-basic-memory.json",
        "title": "Amazon Bedrock AgentCore Memory vs Basic Memory",
        "url": "https://www.anchorterminal.com/compare/agentcore-memory-vs-basic-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-memory-vs-hy-memory.json",
        "title": "Amazon Bedrock AgentCore Memory vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/agentcore-memory-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-claude-mem.json",
        "title": "Basic Memory vs claude-mem",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-claude-mem"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-cognee.json",
        "title": "Basic Memory vs Cognee",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-cognee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-everos.json",
        "title": "Basic Memory vs EverOS",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-everos"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-google-memory-bank.json",
        "title": "Basic Memory vs Agent Platform Memory Bank",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-google-memory-bank"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-graphicle.json",
        "title": "Basic Memory vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-graphiti.json",
        "title": "Basic Memory vs Graphiti",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-graphiti"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-hindsight.json",
        "title": "Basic Memory vs Hindsight",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-hindsight"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-honcho.json",
        "title": "Basic Memory vs Honcho",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-honcho"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-langmem.json",
        "title": "Basic Memory vs LangMem",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-langmem"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-localghost.json",
        "title": "Basic Memory vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-mem0.json",
        "title": "Basic Memory vs Mem0 Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-mem0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-memmachine.json",
        "title": "Basic Memory vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-memori.json",
        "title": "Basic Memory vs Memori",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-memory-reference-server.json",
        "title": "Basic Memory vs Memory (MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-memory-reference-server"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-mempalace.json",
        "title": "Basic Memory vs MemPalace",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-mempalace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-past-dev.json",
        "title": "Basic Memory vs past.dev",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-past-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-supermemory.json",
        "title": "Basic Memory vs Supermemory API + MCP",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-supermemory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-tencentdb-agent-memory.json",
        "title": "Basic Memory vs TencentDB Agent Memory",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-tencentdb-agent-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-tokenrip.json",
        "title": "Basic Memory vs Tokenrip",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-tokenrip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-zep.json",
        "title": "Basic Memory vs Zep",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-zep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-mem-vs-hy-memory.json",
        "title": "claude-mem vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/claude-mem-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cognee-vs-hy-memory.json",
        "title": "Cognee vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/cognee-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/everos-vs-hy-memory.json",
        "title": "EverOS vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/everos-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-memory-bank-vs-hy-memory.json",
        "title": "Agent Platform Memory Bank vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/google-memory-bank-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphiti-vs-hy-memory.json",
        "title": "Graphiti vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/graphiti-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hindsight-vs-hy-memory.json",
        "title": "Hindsight vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/hindsight-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/honcho-vs-hy-memory.json",
        "title": "Honcho vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/honcho-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-langmem.json",
        "title": "Hy Memory vs LangMem",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-langmem"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-localghost.json",
        "title": "Hy Memory vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-mem0.json",
        "title": "Hy Memory vs Mem0 Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-mem0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-memmachine.json",
        "title": "Hy Memory vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-memori.json",
        "title": "Hy Memory vs Memori",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-memory-reference-server.json",
        "title": "Hy Memory vs Memory (MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-memory-reference-server"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-mempalace.json",
        "title": "Hy Memory vs MemPalace",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-mempalace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-past-dev.json",
        "title": "Hy Memory vs past.dev",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-past-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-supermemory.json",
        "title": "Hy Memory vs Supermemory API + MCP",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-supermemory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-tencentdb-agent-memory.json",
        "title": "Hy Memory vs TencentDB Agent Memory",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-tencentdb-agent-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-tokenrip.json",
        "title": "Hy Memory vs Tokenrip",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-tokenrip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-zep.json",
        "title": "Hy Memory vs Zep",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-zep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-memory-vs-basic-memory.json",
        "title": "AI Memory vs Basic Memory",
        "url": "https://www.anchorterminal.com/compare/ai-memory-vs-basic-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-memory-vs-hy-memory.json",
        "title": "AI Memory vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/ai-memory-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-context-mode.json",
        "title": "Basic Memory vs Context Mode Engine",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-context-mode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-hy-memory.json",
        "title": "Context Mode Engine vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-hy-memory.json",
        "title": "Graphicle vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-hy-memory"
      }
    ],
    "panel": null,
    "scores": [
      {
        "basic-memory": 83,
        "by": 18,
        "edge": "basic-memory",
        "hy-memory": 65,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "basic-memory": 89,
        "by": 34,
        "edge": "basic-memory",
        "hy-memory": 55,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "basic-memory": 85,
        "by": 13,
        "edge": "basic-memory",
        "hy-memory": 72,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "basic-memory": 61,
        "by": 24,
        "edge": "basic-memory",
        "hy-memory": 37,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "basic-memory": 50,
        "by": 10,
        "edge": "hy-memory",
        "hy-memory": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "basic-memory": 91,
        "by": 15,
        "edge": "basic-memory",
        "hy-memory": 76,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "basic-memory": 82,
        "by": 19,
        "edge": "basic-memory",
        "hy-memory": 63,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Basic Memory scores 76.9 (BB) on agent readiness against Hy Memory's 53.8 (D), and leads in 6 of 7 scored categories. Hy Memory leads on payments \u0026 pricing. Both do agent memory.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "basic-memory": "Basic Memory 1.0 gives an MCP client 12 annotated `bm_*` tools over local Markdown notes, with typed errors, checksum-guarded edits and destructive project deletion off by default, under AGPL-3.0. Version 1.0 of 29 October 2026 removed every pre-1.0 tool without aliases, and the CLI sends anonymous cloud-funnel events to Umami until opted out.",
      "hy-memory": "An Apache-2.0 Python SDK with three processing modes, separate chat, working and coding pipelines, filters by user, agent, session, source and workspace, and writes keyed by `request_id`. Deletion does not stick everywhere. Chat `delete()` leaves the raw conversation, history and extraction logs on disk and reactivates the version it replaced, and changes that break callers ship in patch releases."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory",
    "json": "https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory.min.md"
  },
  "markdown": "Basic Memory scores 76.9 (BB) on agent readiness against Hy Memory's 53.8 (D), and leads in 6 of 7 scored categories. Hy Memory leads on payments \u0026 pricing. Both do agent memory.\n\n- Basic Memory: grade BB, 76.9/100, rank #38 of 1486. Markdown https://www.anchorterminal.com/tools/basic-memory.md · JSON https://www.anchorterminal.com/api/v1/tools/basic-memory.json\n- Hy Memory: grade D, 53.8/100, rank #931 of 1486. Markdown https://www.anchorterminal.com/tools/hy-memory.md · JSON https://www.anchorterminal.com/api/v1/tools/hy-memory.json\n- Best memory layers for AI agents: https://www.anchorterminal.com/best/agent-memory/index.md\n- All 353 memory comparisons: https://www.anchorterminal.com/compare/agent-memory/index.md\n\n## Which one, for what\n\n### Basic Memory (BB)\n\nGood for: Memory for coding agents and assistants kept as Markdown the user owns, with search and a graph.\n\nAhead on:\n- Reliability, 83 against 65\n- Schema \u0026 documentation, 89 against 55\n- Agent ergonomics, 85 against 72\n- Security \u0026 auth, 61 against 37\n- Maintenance \u0026 community, 91 against 76\n- Transparency \u0026 trust, 82 against 63\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n- No incidents deducted, where Hy Memory loses 6 points for them\n\nWatch for: 1.0 removed every pre-1.0 tool and command with no aliases, so older agent instructions and allowlists break\n\n### Hy Memory (D)\n\nGood for: Python teams that want self-hosted layered chat memory, or working and coding memory from tool-call traces, over stores they run.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 50\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Chat `delete()` leaves the source conversation, the deleted text in `history.db` and extraction prompts in `cache.db`, and reactivates a superseded fact\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Basic Memory +34\n\n- Basic Memory (89): Typed JSON Schema inputs on every tool from Pydantic annotations (25). llms.txt on the site and the docs, with Markdown versions of pages (10). Descriptions say what each tool does and point to the next tool, such as `bm_search` ending with \"Read full notes with bm_read\", and `bm_man` serves the manual, with less on when not to use a tool (16 of 20). Closed values for search mode, edit command and schema command, with aliases accepted for common argument names (13 of 15). Typed refusal codes are documented in the changelog and docs, with fewer worked examples per tool (11 of 15). Dated changelog and MCP registry versions, plus an unreleased breaking change after 1.0 (14 of 15). Total 89.\n- Hy Memory (55): Library reading. No OpenAPI or tool schema applies, and the SDK defines no agent tools. Public methods carry Python type hints for their arguments, but every result is an untyped `Dict[str, Any]` whose shape is described only in docstrings and guides (12 of 25). No llms.txt on memory.hunyuan.tencent.com per the 16 October check, not re-read on 4 November. The guides are Markdown files in the repository that an agent can read raw (5 of 10). Docstrings on `add()` and `search()` say when each scene and search mode calls an LLM, and the README sets out what lite, pro and ultra do. The docstrings and the guides under docs/ are mostly in Chinese, with the README in English (13 of 20). `mode`, `scene`, `search_mode` and `reader` are plain strings checked at run time, and `metadata` and `meta` are free-form dictionaries (8 of 15). Worked examples in the README and guides. Since 2.0.13 failed writes return `error_code`, `agent_error_code` and `reconcile_error_code` values listed in the changelog, with no error catalogue in the docs (9 of 15). CHANGELOG.md covers every SDK release from 2.0.1 to 2.0.13, while docs/usage.md still pins 2.0.4 for every install line (8 of 15).\n\n### Security \u0026 auth: Basic Memory +24\n\n- Basic Memory (61): Local stdio server with no credential, and cloud OAuth 2.1 through WorkOS with read-only or project-scoped keys on Pro (22 of 30). Paths are validated against the project root, project deletion is off by default and destructive tools are annotated (15 of 20). SECURITY.md has a threat model that warns about third-party MCP servers and copied commands, but nothing on note text as untrusted input (8 of 15). A local log file, and cloud audit logs only on Business (8 of 15). SECURITY.md gives an email and a 72-hour response aim but lists only 0.x.x as supported; no security.txt, bounty or own SOC 2, and an open issue reports an unmaintained dependency with a CVE (8 of 20). Total 61.\n- Hy Memory (37): Local-software reading, as for LangMem and Graphiti. The SDK holds no credential of its own and opens no port. LLM and embedder keys come from the environment or a `.env` file. Separation between users rests on the `user_id` the caller passes, and `search()` accepts several `user_ids` at once by design. The bundled `python -m hy_memory.server`, which the OpenClaw plugin starts, listens on 127.0.0.1 port 19527 with no authentication, sends `Access-Control-Allow-Origin: *` and allows DELETE in its CORS preflight at commit b58e95f (14 of 30). No read-only mode. `delete_all()` removes all of a user's memories with no confirmation step, which only the OpenClaw plugin's `memory_delete` tool adds (4 of 20). Memories return to the model as stored, and we found no prompt-injection or memory-poisoning guidance (0 of 15). On by default, `history.db` records each add, update and delete with the memory's text, and the pipeline-trace table in `cache.db` keeps extraction prompts and responses. Since 2.0.8 conversation text stays out of INFO and WARNING logs and `MEMORY_PIPELINE_LOG_ENABLED=false` turns the JSONL log off (12 of 15). SECURITY.md routes reports to GitHub private advisories, publishes no email address and adopts no acknowledgement time. No security.txt on memory.hunyuan.tencent.com or www.tencent.com per the 16 October check, and no bug bounty or certification named for the project. OSV lists no advisory for `hy-memory` on 4 November (7 of 20).\n\n### Transparency \u0026 trust: Basic Memory +19\n\n- Basic Memory (82): AGPL-3.0, an OSI licence (30). The terms and privacy policy of 27 October 2026 agree on 30-day retention after cancellation, backups up to 90 days and no training on or sale of content, and name the infrastructure providers (26 of 30). The 1.0 release ships a migration guide mapping every removed tool and command, without a written deprecation period (14 of 20). Telemetry is disclosed in the README with what is and isn't sent and one opt-out, but it is on by default (16 of 20). Total 86.\n- Hy Memory (63): Apache-2.0 in LICENSE and in pyproject.toml at 2.0.13. CHANGELOG.md says 2.0.1 kept the MIT licence metadata it was published with and 2.0.2 carries Apache-2.0, and the 1.x releases went out with MIT metadata per the 16 October check. The OpenClaw plugin source (1.1.10) says Apache-2.0, while the npm package `openclaw-hy-memory` 1.2.4 was marked MIT per the 16 October check, not re-read on 4 November (25 of 30). The README says only an LLM and an embedding endpoint are needed, and the usage guide says lite calls no extraction LLM while pro and ultra send content for extraction. Nothing says in one place what the SDK keeps on disk. Since 2.0.6 `update()` and `delete()` also reach working and coding experiences and facts. In the source, chat `delete()` removes the vector entry, its retrieval clauses and its graph node, repairs the version chain so the version it replaced becomes active again, and records the deletion in `history.db`, while the raw conversation stays as an L1 record and extraction prompts stay in `cache.db`. 2.0.10 trims assistant and tool turns in stored raw conversations (10 of 30). No deprecation policy. The 2.0.5 default change to coding search and the 2.0.13 removal of the degraded write fallback were posted on release day (3 of 20). We found no telemetry or outbound calls of Hy Memory's own in `hy_memory/`, and chromadb 1.5.9 in uv.lock pulls in no PostHog client. Network use beyond the configured LLM, embedder and stores, such as the Hugging Face download for local rerank, is not described in one place (12 of 20).\n\n### Reliability: Basic Memory +18\n\n- Basic Memory (83): Local-software lines, as a stdio MCP server the owner runs. `basic-memory` on PyPI with Python 3.12 or newer stated, installed with uv (20). Test, SQLite lifecycle and Docker workflows run on the repository, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 74 open issues and pull requests against 200 commits in the 90 days, with recent bug reports answered by a maintainer within days and one flaky-CI issue open (18 of 25). The changelog calls out breaking changes in their own sections (15). v1.0.0 on 29 October 2026 (15). Total 83.\n- Hy Memory (65): Local-software reading of the Python SDK. `hy-memory` installs from PyPI with Python 3.9 or later declared in pyproject.toml at 2.0.13 and extras for Qdrant, FAISS, Neo4j, MySQL and local rerank (20). A public CI workflow runs the whole pytest suite (133 `test_*.py` files at commit b58e95f) on Python 3.12 only, on pushes to main and on pull requests. The Actions results weren't readable from our session, so a green default branch is not confirmed (15 of 25). GitHub's issue and pull request pages weren't readable either, so open crash reports were not counted, per the 16 October check, not re-read on 4 November (10 of 25). CHANGELOG.md now has a dated entry for each SDK release from 2.0.1 to 2.0.13 and labels the 2.0.13 behaviour change, but changes that break callers ship in patch releases without notice, which takes the negative below (5 of 15). Version 2.0.13 (15).\n\n### Maintenance \u0026 community: Basic Memory +15\n\n- Basic Memory (91): v1.0.0 on 29 October 2026 (30). v0.24.0 and v0.24.1 on 22 October and v1.0.0, three releases in 90 days (20). Recent issues from outside users got maintainer replies within a few days (20 of 25). Verified namespace io.github.basicmachines-co/basic-memory in the official MCP registry, published by a workflow (15). uv.lock and CI, with an open report of an unmaintained dependency (6 of 10). Total 91.\n- Hy Memory (76): `hy-memory` 2.0.13 is dated 2 November 2026 in CHANGELOG.md, with the release commit 6c235ef the same day (30). Thirteen SDK releases in the 90 days from 6 August, 2.0.1 on 16 October to 2.0.13 on 2 November, each with a dated changelog entry (20). The 2.0.5 development previews of 21 October aren't counted. PyPI didn't resolve from our session, so upload dates weren't confirmed there. 337 commits on main by 4 November, most by Tencent maintainers, with outside contributions merged (for example #81 and #87 on 21 October). Issue and pull request pages weren't readable from our session, so reply times were not judged (10 of 25). One current official package, Python only. There is no MCP server, so the registry line does not apply (10 of 15). CI with pinned actions runs on every push to main, and a uv.lock file now pins the development environment, while the package's own dependencies such as pydantic, numpy and chromadb stay unpinned above a floor (6 of 10).\n\n### Agent ergonomics: Basic Memory +13\n\n- Basic Memory (85): 13 tools, one hidden unless enabled, so the 11 to 30 band (15), with 6 back for the manual tool and the progressive-discovery tags (21 of 25). Search narrows by mode, filters, note types, items, `since`, `path` and line context (18 of 20). Refusals are tool errors with typed codes an agent can act on (17 of 20). Every tool has readOnly, destructive and idempotent hints, and edits take an expected checksum that refuses a stale write (19 of 20). Most arguments are optional and the server starts with one command, but there is one language and no SDK beyond the CLI (10 of 15). Total 85.\n- Hy Memory (72): Read as a library with the API lines. `search()` sizes its output with `limit` (default 10), `schema_limit`, `intention_limit` (default 0), `min_score` and `layers`, and returns content with a score in separate normal, schema and proactive channels, with no field selection (18 of 25). Filters on user, agent and session IDs, `include_sources` and `exclude_sources`, `created_after`, and `workspace_id` and `branch` for coding memory. `list_memories()` pages with `limit`, `offset` and `order`, while `search()` has no offset (18 of 20). Invalid arguments raise `ValueError` with a message, and since 2.0.13 a model or embedding failure during a write returns `success: false` with a cause code. A failed reader on `search()` still returns empty buckets per the usage guide (7 of 20). Since 2.0.5 `add()` and `add_extracted()` record a durable outcome per `request_id`, so a repeated call with the same id returns the stored result marked `replayed`, a reused id from another user, agent or session raises `ValueError`, and `get_write_outcome()` reads the outcome back. `update()` and `delete()` by ID are safe to repeat (20). One constructor works with only `OPENAI_API_KEY` set, defaulting to gpt-4.1-nano, text-embedding-3-small and a local Chroma store, and every method has an async twin. Python only (9 of 15).\n\n## Score by category\n\n| Category | Weight | Basic Memory | Hy Memory | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 65 | Basic Memory +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 55 | Basic Memory +34 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 72 | Basic Memory +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 37 | Basic Memory +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 60 | Hy Memory +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 91 | 76 | Basic Memory +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 82 | 63 | Basic Memory +19 |\n| Negative events | ≤15 | 0 | -6 | |\n| **Total** | | **76.9 · BB** | **53.8 · D** | |\n\n## Facts side by side\n\n| Fact | Basic Memory | Hy Memory |\n| --- | --- | --- |\n| Kind | MCP server | SDK + MCP |\n| Vendor | Basic Memory LLC | Tencent Hunyuan |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio |  |\n| Auth | None | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | AGPL-3.0 | Apache-2.0 (PyPI metadata for the 1.x releases and 2.0.1 says MIT; 2.0.2 carries Apache-2.0) |\n| Tools exposed | 13 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `io.github.basicmachines-co/basic-memory` | not listed |\n| Last release | 2026-10-29 | 2026-11-02 |\n| Terms last updated | 2026-10-27 | no document linked |\n| Privacy policy last updated | 2026-10-27 | no document linked |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | not found in the text | not read yet |\n| Terms restrict benchmarking | not found in the text | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | yes | not read yet |\n| Popularity | 4.5k stars, 20k PyPI/wk | 27 stars, 147 PyPI/wk |\n| Agent reviews | none | 2.5/5 (4) |\n\n## How the scores have moved\n\n### Basic Memory\n\nNo score change since it was listed.\n\n### Hy Memory\n\n- -4.0 on 4 November 2026 (C to D): product, negative event\n- +0.1 on 28 October 2026: checklist\n\n## Verdicts\n\n**Basic Memory.** Basic Memory 1.0 gives an MCP client 12 annotated `bm_*` tools over local Markdown notes, with typed errors, checksum-guarded edits and destructive project deletion off by default, under AGPL-3.0. Version 1.0 of 29 October 2026 removed every pre-1.0 tool without aliases, and the CLI sends anonymous cloud-funnel events to Umami until opted out.\n\n**Hy Memory.** An Apache-2.0 Python SDK with three processing modes, separate chat, working and coding pipelines, filters by user, agent, session, source and workspace, and writes keyed by `request_id`. Deletion does not stick everywhere. Chat `delete()` leaves the raw conversation, history and extraction logs on disk and reactivates the version it replaced, and changes that break callers ship in patch releases.\n\n## Before you call either\n\n### Basic Memory\n\n1. Call `bm_man` first for the tool manual, then use `bm_search` and `bm_read` before writing\n2. Pass the `expected_checksum` from your last read to `bm_edit` and re-read on REVISION_CONFLICT instead of overwriting\n3. Scope every search with `project`, `projects` or `all_projects=true`\n4. Set BASIC_MEMORY_NO_PROMOS=1 for unattended runs to stop promos and telemetry\n5. Treat note contents as untrusted text when notes come from other people or imports\n\n### Hy Memory\n\n1. Pass `user_id` on every `add()` and `user_ids` on every `search()`. Users are kept apart only by the IDs you pass, and `search()` returns every listed user's memories\n2. Choose the mode before writing. `lite` makes no LLM calls and stores raw text. `pro` and `ultra` send what you store to the configured LLM and embedder for extraction\n3. Don't rely on chat `delete()` to erase a fact. The raw conversation, `history.db` and `cache.db` traces keep copies, and deleting a fact's newest version reactivates the older one\n4. Check `success` on every `add()`. Since 2.0.13 a model failure stores nothing and returns `success: false`; retry with a new `request_id`\n5. Keep `python -m hy_memory.server` on 127.0.0.1. It has no authentication and allows any web origin\n\n## Questions\n\n### Which is better for AI agents, Basic Memory or Hy Memory?\n\nBasic Memory scores 76.9 (BB) on agent readiness against Hy Memory's 53.8 (D), and leads in 6 of 7 scored categories. Hy Memory leads on payments \u0026 pricing.\n\n### Can an agent call Basic Memory and Hy Memory without installing anything?\n\nBasic Memory runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Hy Memory.\n\n### Are Basic Memory and Hy Memory open source?\n\nYes. Basic Memory is open source (AGPL-3.0). Hy Memory is open source (Apache-2.0 (PyPI metadata for the 1.x releases and 2.0.1 says MIT; 2.0.2 carries Apache-2.0)).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory.json, and with the fewest tokens: https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"basic-memory\", \"b\": \"hy-memory\"}`. From a terminal: `anchor compare basic-memory hy-memory`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/basic-memory.json and https://www.anchorterminal.com/api/v1/tools/hy-memory.json\n\n## Other comparisons with Basic Memory or Hy Memory\n\n- [Amazon Bedrock AgentCore Memory vs Basic Memory](https://www.anchorterminal.com/compare/agentcore-memory-vs-basic-memory.md)\n- [Amazon Bedrock AgentCore Memory vs Hy Memory](https://www.anchorterminal.com/compare/agentcore-memory-vs-hy-memory.md)\n- [Basic Memory vs claude-mem](https://www.anchorterminal.com/compare/basic-memory-vs-claude-mem.md)\n- [Basic Memory vs Cognee](https://www.anchorterminal.com/compare/basic-memory-vs-cognee.md)\n- [Basic Memory vs EverOS](https://www.anchorterminal.com/compare/basic-memory-vs-everos.md)\n- [Basic Memory vs Agent Platform Memory Bank](https://www.anchorterminal.com/compare/basic-memory-vs-google-memory-bank.md)\n- [Basic Memory vs Graphicle](https://www.anchorterminal.com/compare/basic-memory-vs-graphicle.md)\n- [Basic Memory vs Graphiti](https://www.anchorterminal.com/compare/basic-memory-vs-graphiti.md)\n- [Basic Memory vs Hindsight](https://www.anchorterminal.com/compare/basic-memory-vs-hindsight.md)\n- [Basic Memory vs Honcho](https://www.anchorterminal.com/compare/basic-memory-vs-honcho.md)\n- [Basic Memory vs LangMem](https://www.anchorterminal.com/compare/basic-memory-vs-langmem.md)\n- [Basic Memory vs LocalGhost](https://www.anchorterminal.com/compare/basic-memory-vs-localghost.md)\n- [Basic Memory vs Mem0 Platform + MCP](https://www.anchorterminal.com/compare/basic-memory-vs-mem0.md)\n- [Basic Memory vs MemMachine](https://www.anchorterminal.com/compare/basic-memory-vs-memmachine.md)\n- [Basic Memory vs Memori](https://www.anchorterminal.com/compare/basic-memory-vs-memori.md)\n- [Basic Memory vs Memory (MCP reference server)](https://www.anchorterminal.com/compare/basic-memory-vs-memory-reference-server.md)\n- [Basic Memory vs MemPalace](https://www.anchorterminal.com/compare/basic-memory-vs-mempalace.md)\n- [Basic Memory vs past.dev](https://www.anchorterminal.com/compare/basic-memory-vs-past-dev.md)\n- [Basic Memory vs Supermemory API + MCP](https://www.anchorterminal.com/compare/basic-memory-vs-supermemory.md)\n- [Basic Memory vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/basic-memory-vs-tencentdb-agent-memory.md)\n- [Basic Memory vs Tokenrip](https://www.anchorterminal.com/compare/basic-memory-vs-tokenrip.md)\n- [Basic Memory vs Zep](https://www.anchorterminal.com/compare/basic-memory-vs-zep.md)\n- [claude-mem vs Hy Memory](https://www.anchorterminal.com/compare/claude-mem-vs-hy-memory.md)\n- [Cognee vs Hy Memory](https://www.anchorterminal.com/compare/cognee-vs-hy-memory.md)\n- [EverOS vs Hy Memory](https://www.anchorterminal.com/compare/everos-vs-hy-memory.md)\n- [Agent Platform Memory Bank vs Hy Memory](https://www.anchorterminal.com/compare/google-memory-bank-vs-hy-memory.md)\n- [Graphiti vs Hy Memory](https://www.anchorterminal.com/compare/graphiti-vs-hy-memory.md)\n- [Hindsight vs Hy Memory](https://www.anchorterminal.com/compare/hindsight-vs-hy-memory.md)\n- [Honcho vs Hy Memory](https://www.anchorterminal.com/compare/honcho-vs-hy-memory.md)\n- [Hy Memory vs LangMem](https://www.anchorterminal.com/compare/hy-memory-vs-langmem.md)\n- [Hy Memory vs LocalGhost](https://www.anchorterminal.com/compare/hy-memory-vs-localghost.md)\n- [Hy Memory vs Mem0 Platform + MCP](https://www.anchorterminal.com/compare/hy-memory-vs-mem0.md)\n- [Hy Memory vs MemMachine](https://www.anchorterminal.com/compare/hy-memory-vs-memmachine.md)\n- [Hy Memory vs Memori](https://www.anchorterminal.com/compare/hy-memory-vs-memori.md)\n- [Hy Memory vs Memory (MCP reference server)](https://www.anchorterminal.com/compare/hy-memory-vs-memory-reference-server.md)\n- [Hy Memory vs MemPalace](https://www.anchorterminal.com/compare/hy-memory-vs-mempalace.md)\n- [Hy Memory vs past.dev](https://www.anchorterminal.com/compare/hy-memory-vs-past-dev.md)\n- [Hy Memory vs Supermemory API + MCP](https://www.anchorterminal.com/compare/hy-memory-vs-supermemory.md)\n- [Hy Memory vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/hy-memory-vs-tencentdb-agent-memory.md)\n- [Hy Memory vs Tokenrip](https://www.anchorterminal.com/compare/hy-memory-vs-tokenrip.md)\n- [Hy Memory vs Zep](https://www.anchorterminal.com/compare/hy-memory-vs-zep.md)\n- [AI Memory vs Basic Memory](https://www.anchorterminal.com/compare/ai-memory-vs-basic-memory.md)\n- [AI Memory vs Hy Memory](https://www.anchorterminal.com/compare/ai-memory-vs-hy-memory.md)\n- [Basic Memory vs Context Mode Engine](https://www.anchorterminal.com/compare/basic-memory-vs-context-mode.md)\n- [Context Mode Engine vs Hy Memory](https://www.anchorterminal.com/compare/context-mode-vs-hy-memory.md)\n- [Graphicle vs Hy Memory](https://www.anchorterminal.com/compare/graphicle-vs-hy-memory.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Basic Memory vs Hy Memory",
        "url": ""
      }
    ],
    "description": "Basic Memory scores 76.9 (BB) to Hy Memory's 53.8 (D) for agent memory. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Basic Memory BB 76.9",
      "Hy Memory D 53.8",
      "scores"
    ],
    "h1": "Basic Memory vs Hy Memory",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/basic-memory-vs-hy-memory",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Basic Memory vs Hy Memory for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory"
  },
  "tokens": {
    "markdown": 6000,
    "slim": 3580
  },
  "version": 1
}
