{
  "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 Context Mode Engine's 54.6 (C), and leads in every scored category.",
    "b": {
      "slug": "context-mode",
      "name": "Context Mode Engine",
      "vendor": "MKSF LTD",
      "vendorUrl": "https://context-mode.com",
      "kind": "mcp",
      "category": "agent-memory",
      "summary": "Context Mode Engine indexes tool output and session events locally for coding agents. Its MCP tools and client hooks let agents retrieve relevant material while keeping large outputs outside the active context.",
      "url": "https://www.anchorterminal.com/tools/context-mode",
      "markdownUrl": "https://www.anchorterminal.com/tools/context-mode.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/context-mode.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/context-mode.json",
      "dns": "context-mode.grade.anchorterminal.com",
      "repo": "https://github.com/mksglu/context-mode",
      "license": "Elastic License 2.0, source available with restrictions on hosted or managed services.",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "context-mode"
        }
      ],
      "auth": "none",
      "authNotes": "Local stdio MCP server installed from npm, with Node.js 24.15.0 or later. Automatic routing depends on the client hooks; MCP-only installation does not enable all hooks.",
      "pricing": "freemium",
      "pricingNotes": "Engine runs locally for free. The separate hosted Gateway has a free plan of 1,000 requests every month with no card, then Pro from $20 a month for 10,000 requests, and Team at $50 a seat. Extra requests cost $2.00 to $1.00 per 1,000. Model-provider charges are separate.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No machine payment protocol established in the reviewed project documentation.",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": 30841,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-19"
      },
      "docsUrl": "https://github.com/mksglu/context-mode#readme",
      "capabilities": [
        "memory.search",
        "context.manage"
      ],
      "tags": [
        "agent-memory",
        "mcp",
        "freemium"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.6,
        "grade": "C",
        "agentReady": false,
        "rank": 898,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 55,
          "payments": 40,
          "reliability": 60,
          "schema": 67,
          "security": 35,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-05"
        },
        "negative": -2,
        "negativeNotes": [
          "Current behaviour, checked 2026-11-05 in the source and docs. The Engine security page says all ten agents keep their own permission prompts and that the agent asks before each `ctx_execute` call. On Codex, the plugin's MCP config and `context-mode setup` set `default_tools_approval_mode` to `approve` for the server, and the server marks `ctx_execute` `readOnlyHint`, which the project's own source says lets the calls run where Codex would otherwise ask or refuse. A misleading claim on a security default, the minimum, -2. https://contextmode.ai/docs/engine/security.md; https://github.com/mksglu/context-mode/blob/main/src/core/contracts/constants.ts"
        ],
        "verdict": "Version 2 runs nine compact MCP tools and client hooks that keep large tool output in a local index, with zero telemetry stated and each network call listed. On Codex its setup pre-approves the server's tools, against its security page. The Elastic License 2.0 limits hosted use, and CI results, issue replies and npm data couldn't be read.",
        "bestFor": "Coding-agent users who want large tool output kept out of the context window on their own machine.",
        "strengths": [
          "Nine MCP tools with 4,330 characters of descriptions and capped replies",
          "Zero telemetry stated, with each network call listed and a source test that flags new ones",
          "Local data with stated retention and `ctx_purge` deletion by session, source or project",
          "Applies the user's Claude Code deny rules before its own",
          "Four stable releases on 4 and 5 November 2026"
        ],
        "weaknesses": [
          "Elastic License 2.0, not an OSI licence, with hosted-service restrictions",
          "`ctx_execute` runs code as the user with no OS-level sandbox",
          "On Codex, setup pre-approves the server's tools and marks `ctx_execute` read-only, while the security page says the agent asks before each call. `ctx_purge` has no `destructiveHint`",
          "No security policy, security.txt or disclosure route",
          "No changelog file in the repository"
        ],
        "agentNotes": [
          "Install Node 24.15.0 or later first. Version 2 no longer runs on Node 22",
          "Use the install command for the exact coding agent, then run `ctx_doctor`",
          "Keep the agent's permission prompts on. Code from `ctx_execute` runs as the user with full network access",
          "Call `ctx_purge` only when the user asks. It deletes for good",
          "Review the Elastic licence before hosting the Engine for others"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.6
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 55,
          "payments": 40,
          "reliability": 60,
          "schema": 67,
          "security": 35,
          "transparency": 60
        },
        "provenanceScore": 47,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-05",
            "maintenance": "2026-11-05",
            "payments": "2026-11-05",
            "reliability": "2026-11-05",
            "schema": "2026-11-05",
            "security": "2026-11-05",
            "transparency": "2026-11-05"
          },
          "last": "2026-11-05",
          "lastMoved": "2026-11-05",
          "oldest": "2026-11-05",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "config": {
          "mcpServers": {
            "context-mode": {
              "args": [
                "-y",
                "context-mode"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/memory.search",
        "tool": "https://letme.dev/context-mode"
      },
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "MKSF LTD",
        "domain": "context-mode.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://raw.githubusercontent.com/mksglu/context-mode/main/LICENSE",
        "privacy": "https://context-mode.com/privacy",
        "statusPage": "",
        "changelog": "https://github.com/mksglu/context-mode/releases",
        "securityTxt": "none",
        "checked": "2026-11-05",
        "notes": [
          "Assessment covers the named repository. No domain registration was verified.",
          "context-mode.com redirects to contextmode.ai, whose privacy page names MKSF LTD, London. No terms of service page is linked, so the licence stands in.",
          "contextmode.ai/.well-known/security.txt and context-mode.com/.well-known/security.txt answered 404 on 2026-11-05.",
          "status.contextmode.ai tracks the hosted Gateway, the console and the website, not the local Engine, so it isn't recorded as this listing's status page."
        ],
        "score": 47
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/context-mode.json",
      "live": {
        "slug": "context-mode",
        "versions": [
          {
            "registry": "github",
            "name": "mksglu/context-mode",
            "version": "v2.1.5",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:17:27.067023396Z"
          },
          {
            "registry": "npm",
            "name": "context-mode",
            "version": "2.1.5",
            "seenAt": "2026-11-06T23:17:25.37565835Z"
          }
        ],
        "githubStars": 33610,
        "npmWeekly": 59093,
        "securityTxt": {
          "url": "https://context-mode.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:47.297503037Z"
        },
        "domain": {
          "domain": "context-mode.com",
          "registered": "2026-04-05",
          "source": "https://rdap.verisign.com/com/v1/domain/context-mode.com",
          "checkedAt": "2026-11-01T14:08:00.231323392Z"
        },
        "pages": [
          {
            "url": "https://context-mode.com/privacy",
            "kind": "privacy",
            "status": 404,
            "checkedAt": "2026-11-07T14:02:00.168804103Z",
            "changedAt": "2026-11-06T13:24:39.635899492Z",
            "fingerprint": "cea3aa6930f6"
          },
          {
            "url": "https://raw.githubusercontent.com/mksglu/context-mode/main/LICENSE",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:21:51.957180832Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6f67d28523d4"
          }
        ],
        "github": {
          "repo": "mksglu/context-mode",
          "checkedAt": "2026-11-02T08:26:09.492583171Z",
          "stars": 33206,
          "archived": false,
          "issuesEnabled": false,
          "pushedAt": "2026-11-02T00:51:33Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-06-29T18:20:12Z"
          }
        },
        "updatedAt": "2026-11-07T16:00:47.297503037Z"
      }
    },
    "edges": [
      {
        "by": 36,
        "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": "v2.1.0 tagged on 5 November 2026 by the release workflow, after v2.0.0, v2.0.1 and v2.0.2 on 4 November, and the README now names 2.0 as the npm latest (30). Four stable releases in the 90 days from 7 August. 2.0.1 only fixes release manifests, and 2.0.0, 2.0.2 and 2.1.0 change code (20). Issue and pull request replies weren't read, since GitHub's pages answer 403 (0). No official MCP registry entry read (0). CI on three systems and two Node lines, results unread (5 of 10). 30+20+0+0+5 = 55."
        },
        "scores": {
          "a": 91,
          "b": 55
        }
      },
      {
        "by": 28,
        "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": "Elastic License 2.0, source available but not an OSI licence, with limits on offering it as a hosted service (15). The Engine privacy page says data stays in `~/.context-mode`, gives retention (indexed items go after 30 days unread, 500 MB per project, idle projects after 14 days) and deletion by `ctx_purge`. The site privacy page is a summary for the Gateway that points to e-mail for the full policy (25 of 30). No deprecation policy or dated notices (0). The README and docs state zero telemetry and list each network call, with a source test that flags new call sites. We found no telemetry in the source (20). 15+25+0+20 = 60."
        },
        "scores": {
          "a": 82,
          "b": 54
        }
      },
      {
        "by": 26,
        "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": "Read with the framework lines for a local MCP server. No credential of its own; code runs as the user under the agent's own permission checks (10). On Claude Code the PreToolUse hook applies the user's deny rules first, and `CONTEXT_MODE_REQUIRE_SECURITY=1` denies every call while a settings file is broken (15). `ctx_index` blocks private and link-local addresses when it fetches a URL, but no guidance on instructions inside fetched pages or tool output (0). Each project keeps a local session log of prompts, edits, commands and errors (10). No SECURITY.md, security.txt or disclosure route found, and no advisory names the package (0). 10+15+0+10+0 = 35."
        },
        "scores": {
          "a": 61,
          "b": 35
        }
      },
      {
        "by": 23,
        "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": "Read with the local-package lines. Installs from npm as `context-mode`, with Node 24.15.0 or later stated in package.json and the README (20). A public CI workflow runs the test gate on macOS, Linux and Windows under Node 24.15.0 and 26 on every push, and the release workflow runs it before each publish. GitHub's pages answer 403 in this session, so run results couldn't be read (15 of 25). Open crash and regression issues weren't read (0). Versioned releases, with 2.0.0 a major for the rewrite and 2.0.0-next prereleases from 27 October, but no changelog file in the repository and the GitHub release notes unread (10 of 15). Version 2.1.0, past 1.0 (15). 20+15+0+10+15 = 60."
        },
        "scores": {
          "a": 83,
          "b": 60
        }
      },
      {
        "by": 22,
        "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": "No published contract. The tool input schemas sit in the source, and the docs show them as a table (0 of 25). llms.txt and Markdown copies of every page on contextmode.ai (10). Each tool description says what it does and when to use it, for example `ctx_purge` \"Use it only when the user asks to forget or reset data\" (20). The tools reference lists each tool's inputs with optional fields and allowed values (`scope` session, worktree or project; `sort` relevance or timeline; `mode` upgrade or uninstall), and every tool rejects an unknown field with `UNKNOWN_FIELD` (12 of 15). Setup, doctor and troubleshooting pages with examples and fix lines (15). Tagged releases, without a readable changelog (10 of 15). 0+10+20+12+15+10 = 67."
        },
        "scores": {
          "a": 89,
          "b": 67
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "basic-memory",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Self-hosted rule, with the price lines read for the cloud. No x402, MPP or L402 (0 of 40). Cloud plans are public, and credits are $0.01 each, but what a credit buys isn't priced per unit (10). The open-source server is free with no card (20). An agent can install it from PyPI and run it with no account (20). Total 50.",
          "b": "No machine payment protocol found (0). Scored on the hosted Gateway, the paid option. Extra requests cost $2.00 down to $1.00 per 1,000 by volume, published on the pricing page (20). A free plan of 1,000 requests every month, no card (20). A person signs in to the console with GitHub or Google (0). 0+20+20+0 = 40."
        },
        "scores": {
          "a": 50,
          "b": 40
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Basic Memory LLC",
        "b": "MKSF LTD",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0",
        "b": "Elastic License 2.0, source available with restrictions on hosted or managed services.",
        "name": "Licence"
      },
      {
        "a": "13",
        "b": "9",
        "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-05",
        "name": "Last release"
      },
      {
        "a": "2026-10-27",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-27",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.5k stars, 20k PyPI/wk",
        "b": "31k stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Basic Memory scores 76.9 (BB) on agent readiness against Context Mode Engine's 54.6 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, Basic Memory or Context Mode Engine?"
      },
      {
        "answer": "Neither needs a key.",
        "question": "Do Basic Memory and Context Mode Engine need an API key?"
      },
      {
        "answer": "Basic Memory runs on your own machine, with no hosted endpoint listed. Context Mode Engine runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Basic Memory and Context Mode Engine without installing anything?"
      },
      {
        "answer": "Basic Memory is open source (AGPL-3.0). No open-source release is listed for Context Mode Engine.",
        "question": "Are Basic Memory and Context Mode Engine open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 60",
          "Schema \u0026 documentation, 89 against 67",
          "Agent ergonomics, 85 against 80",
          "Security \u0026 auth, 61 against 35",
          "Payments \u0026 pricing, 50 against 40",
          "Maintenance \u0026 community, 91 against 55",
          "Transparency \u0026 trust, 82 against 54"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Open source"
        ],
        "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": null,
        "also": null,
        "goodFor": "Coding-agent users who want large tool output kept out of the context window on their own machine.",
        "slug": "context-mode",
        "watchFor": "Elastic License 2.0, not an OSI licence, with hosted-service restrictions"
      }
    ],
    "history": {
      "basic-memory": null,
      "context-mode": [
        {
          "causes": [
            "product",
            "evidence"
          ],
          "date": "2026-11-05",
          "delta": 8.4,
          "from": 46.2,
          "fromGrade": "D",
          "to": 54.6,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.4,
          "from": 45.8,
          "fromGrade": "E",
          "to": 46.2,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "memory.search",
      "name": "Memory search"
    },
    "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/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-hy-memory.json",
        "title": "Basic Memory vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory"
      },
      {
        "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/agentcore-memory-vs-context-mode.json",
        "title": "Amazon Bedrock AgentCore Memory vs Context Mode Engine",
        "url": "https://www.anchorterminal.com/compare/agentcore-memory-vs-context-mode"
      },
      {
        "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-context-mode.json",
        "title": "AI Memory vs Context Mode Engine",
        "url": "https://www.anchorterminal.com/compare/ai-memory-vs-context-mode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-mem-vs-context-mode.json",
        "title": "claude-mem vs Context Mode Engine",
        "url": "https://www.anchorterminal.com/compare/claude-mem-vs-context-mode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cognee-vs-context-mode.json",
        "title": "Cognee vs Context Mode Engine",
        "url": "https://www.anchorterminal.com/compare/cognee-vs-context-mode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-everos.json",
        "title": "Context Mode Engine vs EverOS",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-everos"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-google-memory-bank.json",
        "title": "Context Mode Engine vs Agent Platform Memory Bank",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-google-memory-bank"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-graphicle.json",
        "title": "Context Mode Engine vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-graphiti.json",
        "title": "Context Mode Engine vs Graphiti",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-graphiti"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-hindsight.json",
        "title": "Context Mode Engine vs Hindsight",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-hindsight"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-honcho.json",
        "title": "Context Mode Engine vs Honcho",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-honcho"
      },
      {
        "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/context-mode-vs-khoj.json",
        "title": "Context Mode Engine vs Khoj",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-langmem.json",
        "title": "Context Mode Engine vs LangMem",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-langmem"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-mem0.json",
        "title": "Context Mode Engine vs Mem0 Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-mem0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-memmachine.json",
        "title": "Context Mode Engine vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-memori.json",
        "title": "Context Mode Engine vs Memori",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-mempalace.json",
        "title": "Context Mode Engine vs MemPalace",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-mempalace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-past-dev.json",
        "title": "Context Mode Engine vs past.dev",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-past-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-supermemory.json",
        "title": "Context Mode Engine vs Supermemory API + MCP",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-supermemory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-tencentdb-agent-memory.json",
        "title": "Context Mode Engine vs TencentDB Agent Memory",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-tencentdb-agent-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-tokenrip.json",
        "title": "Context Mode Engine vs Tokenrip",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-tokenrip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-zep.json",
        "title": "Context Mode Engine vs Zep",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-zep"
      }
    ],
    "panel": null,
    "scores": [
      {
        "basic-memory": 83,
        "by": 23,
        "context-mode": 60,
        "edge": "basic-memory",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "basic-memory": 89,
        "by": 22,
        "context-mode": 67,
        "edge": "basic-memory",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "basic-memory": 85,
        "by": 5,
        "context-mode": 80,
        "edge": "basic-memory",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "basic-memory": 61,
        "by": 26,
        "context-mode": 35,
        "edge": "basic-memory",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "basic-memory": 50,
        "by": 10,
        "context-mode": 40,
        "edge": "basic-memory",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "basic-memory": 91,
        "by": 36,
        "context-mode": 55,
        "edge": "basic-memory",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "basic-memory": 82,
        "by": 28,
        "context-mode": 54,
        "edge": "basic-memory",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Basic Memory scores 76.9 (BB) on agent readiness against Context Mode Engine's 54.6 (C), and leads in every scored category. Both do memory search.",
    "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.",
      "context-mode": "Version 2 runs nine compact MCP tools and client hooks that keep large tool output in a local index, with zero telemetry stated and each network call listed. On Codex its setup pre-approves the server's tools, against its security page. The Elastic License 2.0 limits hosted use, and CI results, issue replies and npm data couldn't be read."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/basic-memory-vs-context-mode",
    "json": "https://www.anchorterminal.com/compare/basic-memory-vs-context-mode.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/basic-memory-vs-context-mode.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/basic-memory-vs-context-mode.min.md"
  },
  "markdown": "Basic Memory scores 76.9 (BB) on agent readiness against Context Mode Engine's 54.6 (C), and leads in every scored category. Both do memory search.\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- Context Mode Engine: grade C, 54.6/100, rank #898 of 1486. Markdown https://www.anchorterminal.com/tools/context-mode.md · JSON https://www.anchorterminal.com/api/v1/tools/context-mode.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 60\n- Schema \u0026 documentation, 89 against 67\n- Agent ergonomics, 85 against 80\n- Security \u0026 auth, 61 against 35\n- Payments \u0026 pricing, 50 against 40\n- Maintenance \u0026 community, 91 against 55\n- Transparency \u0026 trust, 82 against 54\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Open source\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### Context Mode Engine (C)\n\nGood for: Coding-agent users who want large tool output kept out of the context window on their own machine.\n\nWatch for: Elastic License 2.0, not an OSI licence, with hosted-service restrictions\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Basic Memory +36\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- Context Mode Engine (55): v2.1.0 tagged on 5 November 2026 by the release workflow, after v2.0.0, v2.0.1 and v2.0.2 on 4 November, and the README now names 2.0 as the npm latest (30). Four stable releases in the 90 days from 7 August. 2.0.1 only fixes release manifests, and 2.0.0, 2.0.2 and 2.1.0 change code (20). Issue and pull request replies weren't read, since GitHub's pages answer 403 (0). No official MCP registry entry read (0). CI on three systems and two Node lines, results unread (5 of 10). 30+20+0+0+5 = 55.\n\n### Transparency \u0026 trust: Basic Memory +28\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- Context Mode Engine (54): Elastic License 2.0, source available but not an OSI licence, with limits on offering it as a hosted service (15). The Engine privacy page says data stays in `~/.context-mode`, gives retention (indexed items go after 30 days unread, 500 MB per project, idle projects after 14 days) and deletion by `ctx_purge`. The site privacy page is a summary for the Gateway that points to e-mail for the full policy (25 of 30). No deprecation policy or dated notices (0). The README and docs state zero telemetry and list each network call, with a source test that flags new call sites. We found no telemetry in the source (20). 15+25+0+20 = 60.\n\n### Security \u0026 auth: Basic Memory +26\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- Context Mode Engine (35): Read with the framework lines for a local MCP server. No credential of its own; code runs as the user under the agent's own permission checks (10). On Claude Code the PreToolUse hook applies the user's deny rules first, and `CONTEXT_MODE_REQUIRE_SECURITY=1` denies every call while a settings file is broken (15). `ctx_index` blocks private and link-local addresses when it fetches a URL, but no guidance on instructions inside fetched pages or tool output (0). Each project keeps a local session log of prompts, edits, commands and errors (10). No SECURITY.md, security.txt or disclosure route found, and no advisory names the package (0). 10+15+0+10+0 = 35.\n\n### Reliability: Basic Memory +23\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- Context Mode Engine (60): Read with the local-package lines. Installs from npm as `context-mode`, with Node 24.15.0 or later stated in package.json and the README (20). A public CI workflow runs the test gate on macOS, Linux and Windows under Node 24.15.0 and 26 on every push, and the release workflow runs it before each publish. GitHub's pages answer 403 in this session, so run results couldn't be read (15 of 25). Open crash and regression issues weren't read (0). Versioned releases, with 2.0.0 a major for the rewrite and 2.0.0-next prereleases from 27 October, but no changelog file in the repository and the GitHub release notes unread (10 of 15). Version 2.1.0, past 1.0 (15). 20+15+0+10+15 = 60.\n\n### Schema \u0026 documentation: Basic Memory +22\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- Context Mode Engine (67): No published contract. The tool input schemas sit in the source, and the docs show them as a table (0 of 25). llms.txt and Markdown copies of every page on contextmode.ai (10). Each tool description says what it does and when to use it, for example `ctx_purge` \"Use it only when the user asks to forget or reset data\" (20). The tools reference lists each tool's inputs with optional fields and allowed values (`scope` session, worktree or project; `sort` relevance or timeline; `mode` upgrade or uninstall), and every tool rejects an unknown field with `UNKNOWN_FIELD` (12 of 15). Setup, doctor and troubleshooting pages with examples and fix lines (15). Tagged releases, without a readable changelog (10 of 15). 0+10+20+12+15+10 = 67.\n\n### Payments \u0026 pricing: Basic Memory +10\n\n- Basic Memory (50): Self-hosted rule, with the price lines read for the cloud. No x402, MPP or L402 (0 of 40). Cloud plans are public, and credits are $0.01 each, but what a credit buys isn't priced per unit (10). The open-source server is free with no card (20). An agent can install it from PyPI and run it with no account (20). Total 50.\n- Context Mode Engine (40): No machine payment protocol found (0). Scored on the hosted Gateway, the paid option. Extra requests cost $2.00 down to $1.00 per 1,000 by volume, published on the pricing page (20). A free plan of 1,000 requests every month, no card (20). A person signs in to the console with GitHub or Google (0). 0+20+20+0 = 40.\n\n## Score by category\n\n| Category | Weight | Basic Memory | Context Mode Engine | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 60 | Basic Memory +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 67 | Basic Memory +22 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 80 | Basic Memory +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 35 | Basic Memory +26 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 40 | Basic Memory +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 91 | 55 | Basic Memory +36 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 82 | 54 | Basic Memory +28 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **76.9 · BB** | **54.6 · C** | |\n\n## Facts side by side\n\n| Fact | Basic Memory | Context Mode Engine |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | Basic Memory LLC | MKSF LTD |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio | stdio |\n| Auth | None | None |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | AGPL-3.0 | Elastic License 2.0, source available with restrictions on hosted or managed services. |\n| Tools exposed | 13 | 9 |\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-05 |\n| Terms last updated | 2026-10-27 | no date given |\n| Privacy policy last updated | 2026-10-27 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 4.5k stars, 20k PyPI/wk | 31k stars |\n| Agent reviews | none | 3.5/5 (4) |\n\n## How the scores have moved\n\n### Basic Memory\n\nNo score change since it was listed.\n\n### Context Mode Engine\n\n- +8.4 on 5 November 2026 (D to C): product, new evidence\n- +0.4 on 27 October 2026 (E to D): 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**Context Mode Engine.** Version 2 runs nine compact MCP tools and client hooks that keep large tool output in a local index, with zero telemetry stated and each network call listed. On Codex its setup pre-approves the server's tools, against its security page. The Elastic License 2.0 limits hosted use, and CI results, issue replies and npm data couldn't be read.\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### Context Mode Engine\n\n1. Install Node 24.15.0 or later first. Version 2 no longer runs on Node 22\n2. Use the install command for the exact coding agent, then run `ctx_doctor`\n3. Keep the agent's permission prompts on. Code from `ctx_execute` runs as the user with full network access\n4. Call `ctx_purge` only when the user asks. It deletes for good\n5. Review the Elastic licence before hosting the Engine for others\n\n## Questions\n\n### Which is better for AI agents, Basic Memory or Context Mode Engine?\n\nBasic Memory scores 76.9 (BB) on agent readiness against Context Mode Engine's 54.6 (C), and leads in every scored category.\n\n### Do Basic Memory and Context Mode Engine need an API key?\n\nNeither needs a key.\n\n### Can an agent call Basic Memory and Context Mode Engine without installing anything?\n\nBasic Memory runs on your own machine, with no hosted endpoint listed. Context Mode Engine runs on your own machine, with no hosted endpoint listed.\n\n### Are Basic Memory and Context Mode Engine open source?\n\nBasic Memory is open source (AGPL-3.0). No open-source release is listed for Context Mode Engine.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/basic-memory-vs-context-mode.json, and with the fewest tokens: https://www.anchorterminal.com/compare/basic-memory-vs-context-mode.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"basic-memory\", \"b\": \"context-mode\"}`. From a terminal: `anchor compare basic-memory context-mode`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/basic-memory.json and https://www.anchorterminal.com/api/v1/tools/context-mode.json\n\n## Other comparisons with Basic Memory or Context Mode Engine\n\n- [Amazon Bedrock AgentCore Memory vs Basic Memory](https://www.anchorterminal.com/compare/agentcore-memory-vs-basic-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 Hy Memory](https://www.anchorterminal.com/compare/basic-memory-vs-hy-memory.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- [Amazon Bedrock AgentCore Memory vs Context Mode Engine](https://www.anchorterminal.com/compare/agentcore-memory-vs-context-mode.md)\n- [AI Memory vs Basic Memory](https://www.anchorterminal.com/compare/ai-memory-vs-basic-memory.md)\n- [AI Memory vs Context Mode Engine](https://www.anchorterminal.com/compare/ai-memory-vs-context-mode.md)\n- [claude-mem vs Context Mode Engine](https://www.anchorterminal.com/compare/claude-mem-vs-context-mode.md)\n- [Cognee vs Context Mode Engine](https://www.anchorterminal.com/compare/cognee-vs-context-mode.md)\n- [Context Mode Engine vs EverOS](https://www.anchorterminal.com/compare/context-mode-vs-everos.md)\n- [Context Mode Engine vs Agent Platform Memory Bank](https://www.anchorterminal.com/compare/context-mode-vs-google-memory-bank.md)\n- [Context Mode Engine vs Graphicle](https://www.anchorterminal.com/compare/context-mode-vs-graphicle.md)\n- [Context Mode Engine vs Graphiti](https://www.anchorterminal.com/compare/context-mode-vs-graphiti.md)\n- [Context Mode Engine vs Hindsight](https://www.anchorterminal.com/compare/context-mode-vs-hindsight.md)\n- [Context Mode Engine vs Honcho](https://www.anchorterminal.com/compare/context-mode-vs-honcho.md)\n- [Context Mode Engine vs Hy Memory](https://www.anchorterminal.com/compare/context-mode-vs-hy-memory.md)\n- [Context Mode Engine vs Khoj](https://www.anchorterminal.com/compare/context-mode-vs-khoj.md)\n- [Context Mode Engine vs LangMem](https://www.anchorterminal.com/compare/context-mode-vs-langmem.md)\n- [Context Mode Engine vs Mem0 Platform + MCP](https://www.anchorterminal.com/compare/context-mode-vs-mem0.md)\n- [Context Mode Engine vs MemMachine](https://www.anchorterminal.com/compare/context-mode-vs-memmachine.md)\n- [Context Mode Engine vs Memori](https://www.anchorterminal.com/compare/context-mode-vs-memori.md)\n- [Context Mode Engine vs MemPalace](https://www.anchorterminal.com/compare/context-mode-vs-mempalace.md)\n- [Context Mode Engine vs past.dev](https://www.anchorterminal.com/compare/context-mode-vs-past-dev.md)\n- [Context Mode Engine vs Supermemory API + MCP](https://www.anchorterminal.com/compare/context-mode-vs-supermemory.md)\n- [Context Mode Engine vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/context-mode-vs-tencentdb-agent-memory.md)\n- [Context Mode Engine vs Tokenrip](https://www.anchorterminal.com/compare/context-mode-vs-tokenrip.md)\n- [Context Mode Engine vs Zep](https://www.anchorterminal.com/compare/context-mode-vs-zep.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 Context Mode Engine",
        "url": ""
      }
    ],
    "description": "Basic Memory scores 76.9 (BB) to Context Mode Engine's 54.6 (C) for memory search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Basic Memory BB 76.9",
      "Context Mode Engine C 54.6",
      "scores"
    ],
    "h1": "Basic Memory vs Context Mode Engine",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/basic-memory-vs-context-mode",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Basic Memory vs Context Mode Engine for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/basic-memory-vs-context-mode"
  },
  "tokens": {
    "markdown": 4900,
    "slim": 2430
  },
  "version": 1
}
