# Basic Memory vs Memory (MCP reference server) (slim)

> Basic Memory scores 76.9 (BB) to Memory's 58.8 (C) for agent memory. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/basic-memory-vs-memory-reference-server.md (~5,750 tokens) · this version ~2,980 tokens · JSON https://www.anchorterminal.com/compare/basic-memory-vs-memory-reference-server.json · canonical https://www.anchorterminal.com/compare/basic-memory-vs-memory-reference-server
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Basic Memory scores 76.9 (BB) on agent readiness against Memory (MCP reference server)'s 58.8 (C), and leads in 6 of 7 scored categories. Memory (MCP reference server) leads on payments & pricing. Both do agent memory.

- Basic Memory: BB 76.9, rank #38 of 1486 · https://www.anchorterminal.com/tools/basic-memory.min.md
- Memory (MCP reference server): C 58.8, rank #724 of 1486 · https://www.anchorterminal.com/tools/memory-reference-server.min.md
- Basic Memory, good for Memory for coding agents and assistants kept as Markdown the user owns, with search and a graph. Ahead on Reliability, 83 against 75; Schema & documentation, 89 against 70; Agent ergonomics, 85 against 67; Security & auth, 61 against 39; Maintenance & community, 91 against 75; Transparency & trust, 82 against 76. Also Agent-ready, a grade of BB or better; No incidents deducted, where Memory (MCP reference server) loses 6 points for them.
- Memory (MCP reference server), good for A single local agent that wants a small, inspectable store of facts about people and projects. Ahead on Payments & pricing, 60 against 50.

| Category | Basic Memory | Memory (MCP reference server) |
| --- | --- | --- |
| Reliability (16%) | 83 | 75 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 89 | 70 |
| Agent ergonomics (13%) | 85 | 67 |
| Security & auth (14%) | 61 | 39 |
| Payments & pricing (10%) | 50 | 60 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 91 | 75 |
| Transparency & trust (7%) | 82 | 76 |

| Fact (where they differ) | Basic Memory | Memory (MCP reference server) |
| --- | --- | --- |
| Vendor | Basic Memory LLC | MCP project (reference servers) |
| Pricing | Freemium | Free |
| Licence | AGPL-3.0 | MIT and Apache-2.0 |
| Tools exposed | 13 | 9 |
| llms.txt | yes | no |
| MCP registry | `io.github.basicmachines-co/basic-memory` | not listed |
| Last release | 2026-10-29 | 2026-10-28 |
| Terms last updated | 2026-10-27 | 2021-09-08 |
| Privacy policy last updated | 2026-10-27 | 2023-03-15 |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 4.5k stars, 20k PyPI/wk | 90k stars, 136k npm/wk |
| Agent reviews | none | 2.5/5 (2) |

Why the edge:
- Security & auth, Basic Memory +22: 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.); Memory (MCP reference server) 39 (No credentials, nothing to scope, so the middle band (20). No read-only mode. The three delete tools run without confirmation and annotations are the only signal a host gets. The file path is whatever `MEMORY_FILE_PATH` says (5). Everything stored comes back verbatim in later sessions, so an instruction an agent copied from a web page or document persists as memory. The README still has no guidance on this (2). No log of who changed what. Resource notifications say only that the graph changed (0). SECURITY.md was rewritten on 29 September 2026 and is on main since 1.0.0. It names this server in scope, takes private reports through GitHub, says fixes ship in the next release and publishes accepted advisories once a fixed release is out. modelcontextprotocol.io serves a security.txt with a contact and no Expires line. No bounty or certification. Graded as the sequential-thinking and filesystem servers and nanobot (12 of 20). OSV lists no advisory for the package on 4 November, and none of the GHSA-named branches merged in October touches this server. 20+5+2+0+12 = 39.)
- Schema & documentation, Basic Memory +19: 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.); Memory (MCP reference server) 70 (All nine tools take typed zod input schemas and declare output schemas, stated as JSON Schema 2020-12 since 2.0.0 (25). No llms.txt. The README is Markdown on GitHub with JSON examples (5). Descriptions are mostly one line of purpose ("Read the entire knowledge graph"). Since 1.0.0 `create_entities` says existing names are skipped and points to `add_observations`, and `create_relations` asks for active voice, but none says when to prefer `search_nodes` or `open_nodes` over `read_graph` (7). Required fields are marked and every field has a description, and the 2,048-character cap on the `search_nodes` query shipped in 1.0.0, but arrays have no minimum or maximum and `entityType` and `relationType` are free strings (8). The README shows example entities, relations and observations, and errors such as "Entity with name X not found" are plain (10). A per-package CHANGELOG.md with Major, Minor and Patch sections from 1.0.0, and dated release tags (15). 25+5+7+8+10+15 = 70.)
- Agent ergonomics, Basic Memory +18: 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.); Memory (MCP reference server) 67 (Nine tools with short descriptions, but the entity and relation schemas repeat in every output schema, so tools/list runs to about 10,700 characters or roughly 2,700 tokens by the 1 October count, with a `$schema` line on each schema since 2.0.0 (22). No pagination, limit or field selection anywhere. `read_graph` returns the whole graph and `search_nodes` returns every substring match (5). Since 1.0.0 deletes report the names they didn't find, relations to missing entities are refused, and `create_entities` lists skipped names in `skipped`; errors are plain strings that the README doesn't document, so the earlier partial stays (10 of 20). All nine tools carry `readOnlyHint`, `destructiveHint`, `idempotentHint` and `openWorldHint`, the three deletes marked destructive, and since 2.0.1 the three create tools no longer drop stored fields while marked non-destructive (20). At most one required parameter per tool. Node only, plus Docker (10). 22+5+10+20+10 = 67.)
- Maintenance & community, Basic Memory +16: 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.); Memory (MCP reference server) 75 (Memory 2.0.1, released with the monorepo's v2.2.0 tag on 28 October 2026, 7 days before this check (30). Four releases of this package in the 90 days from 6 August, 2026.8.31 (31 August), 1.0.0 (tag v1.0.0, 10 October), 2.0.0 (tag v2.0.0, 19 October) and 2.0.1 (tag v2.2.0, 28 October), each with code changes; v2.1.0 (24 October) left it at 2.0.0 (package.json read at each tag). Dates are from the repository's tags and the package changelog, since npm couldn't be read today; the package has no separate CLI or plugin (20). Fixes merged through September and October cite filed issues; reply times on issues couldn't be read (15 of 25, unchanged). The official MCP registry wasn't read on 4 November (its API isn't called in this run) and the 1 October lookup came from that API, so no entry is shown, though package.json carries the mcpName io.github.modelcontextprotocol/server-memory (0). Current SDK (`@modelcontextprotocol/server` ^2.3.1) and zod 4 declared, CI on Node 24 and 26, and a monthly dependency sweep with a daily alert check (10, as the sequential-thinking server). 30+20+15+0+10 = 75.)
- Payments & pricing, Memory (MCP reference server) +10: 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.); Memory (MCP reference server) 60 (Free, self-hosted, nothing to buy, so 20 + 20 + 20. No payment protocol (0).)
- Reliability, Basic Memory +8: 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.); Memory (MCP reference server) 75 (Scored as a local stdio package. The npm package @modelcontextprotocol/server-memory and the mcp/memory Docker image, with `engines` set to Node 24 or later since 2.0.0 and the README stating the same (20). The TypeScript workflow runs format, lint, typecheck, build and the Vitest suite on every push, on Node 24 and 26, with 13 test files for this server and a per-file coverage gate. Whether the default branch passes couldn't be read, GitHub's pages answering 403, so 15 of 25 (this run's reading for public CI that runs the tests with the result unread). The issue list wasn't readable. The eleven September fixes, the race in #4555 among them, shipped in 1.0.0 with fixes for #4797, #4827 and #4887, and 2.0.1 fixed #5058 and the failed-migration case (15 of 25). Since 1.0.0 the package follows a written semver policy managed with changesets, and its CHANGELOG.md lists 2.0.0's breaking changes under Major Changes (15). Version 2.0.1, but the repository README and SECURITY.md still call these reference implementations, not production-ready (10 of 15), as for the sequential-thinking and filesystem servers. 20+15+15+15+10 = 75.)
