Head to head · Agent memory · October 2026 research run
Basic Memory vs Memory (MCP reference server)
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.
Best memory layers for AI agents · All 353 memory comparisons
Best database, file and memory tools for AI agents · All 97 databases comparisons
Which one, for what
Basic Memory BB
Best 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 in its favour
- Agent-ready, a grade of BB or better
- No incidents deducted, where Memory (MCP reference server) loses 6 points for them
Watch for
1.0 removed every pre-1.0 tool and command with no aliases, so older agent instructions and allowlists break
Memory (MCP reference server) C
Best for A single local agent that wants a small, inspectable store of facts about people and projects.
Ahead on
- Payments & pricing, 60 against 50
Watch for
No pagination or limits. read_graph returns everything and search_nodes every match
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
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.
Score by category
| Category | Weight this run | Basic Memory | Memory (MCP reference server) | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 83 | 75 | Basic Memory +8 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 89 | 70 | Basic Memory +19 |
| Agent ergonomics | 13%16.2 | 85 | 67 | Basic Memory +18 |
| Security & auth | 14%17.5 | 61 | 39 | Basic Memory +22 |
| Payments & pricing | 10%12.5 | 50 | 60 | Memory (MCP reference server) +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 91 | 75 | Basic Memory +16 |
| Transparency & trust | 7%8.8 | 82 | 76 | Basic Memory +6 |
| Negative events | ≤15 | 0 | -6 | |
| Total | BB 76.9/100 | C 58.8/100 |
Facts side by side
| Fact | Basic Memory | Memory (MCP reference server) |
|---|---|---|
| Kind | MCP server | MCP server |
| Vendor | Basic Memory LLC | MCP project (reference servers) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio | stdio |
| Auth | None | None |
| Pricing | Freemium | Free |
| x402 | no | no |
| Licence | AGPL-3.0 | MIT and Apache-2.0 |
| Tools exposed | 13 | 9 |
| Read-only variant documented | no | no |
| 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 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| 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) |
How the scores have moved
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.
Memory (MCP reference server)
Nine tools with typed schemas and accurate read, destructive and idempotent annotations, and since 1.0.0 a lock file keeps two processes from losing each other's writes. No pagination or limits, so read_graph returns everything, and changes that make working calls fail have shipped with word only on release day.
Before you call either
Basic Memory
- Call
bm_manfirst for the tool manual, then usebm_searchandbm_readbefore writing - Pass the
expected_checksumfrom your last read tobm_editand re-read on REVISION_CONFLICT instead of overwriting - Scope every search with
project,projectsorall_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
Memory (MCP reference server)
- Set
MEMORY_FILE_PATHto an absolute path in a writable directory. The default sits inside the npx cache, and the lock file needs the directory - Use
search_nodesoropen_nodesinstead ofread_graphonce the graph holds a few hundred entities or more - Read
skippedin thecreate_entitiesresult and useadd_observationsfor names that already exist - Create both entities before
create_relations. A missing endpoint fails the whole batch - Run on Node 24 or later since 2.0.0, and keep observations short and factual. They come back verbatim in every later read
Questions
Which is better for AI agents, Basic Memory or Memory (MCP reference server)?
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.
Do Basic Memory and Memory (MCP reference server) need an API key?
Neither needs a key.
Can an agent call Basic Memory and Memory (MCP reference server) without installing anything?
Basic Memory runs on your own machine, with no hosted endpoint listed. Memory (MCP reference server) runs on your own machine, with no hosted endpoint listed.
Are Basic Memory and Memory (MCP reference server) open source?
Yes. Basic Memory is open source (AGPL-3.0). Memory (MCP reference server) is open source (MIT and Apache-2.0).
Other comparisons with Basic Memory or Memory (MCP reference server)
- Amazon Bedrock AgentCore Memory vs Basic Memory
- Amazon Bedrock AgentCore Memory vs Memory (MCP reference server)
- Basic Memory vs claude-mem
- Basic Memory vs Cognee
- Basic Memory vs EverOS
- Basic Memory vs Agent Platform Memory Bank
- Basic Memory vs Graphicle
- Basic Memory vs Graphiti
- Basic Memory vs Hindsight
- Basic Memory vs Honcho
- Basic Memory vs Hy Memory
- Basic Memory vs LangMem
- Basic Memory vs LocalGhost
- Basic Memory vs Mem0 Platform + MCP
- Basic Memory vs MemMachine
- Basic Memory vs Memori
- Basic Memory vs MemPalace
- Basic Memory vs past.dev
- Basic Memory vs Supermemory API + MCP
- Basic Memory vs TencentDB Agent Memory
- Basic Memory vs Tokenrip
- Basic Memory vs Zep
- claude-mem vs Memory (MCP reference server)
- Cognee vs Memory (MCP reference server)
- EverOS vs Memory (MCP reference server)
- Agent Platform Memory Bank vs Memory (MCP reference server)
- Graphiti vs Memory (MCP reference server)
- Hindsight vs Memory (MCP reference server)
- Honcho vs Memory (MCP reference server)
- Hy Memory vs Memory (MCP reference server)
- LangMem vs Memory (MCP reference server)
- LocalGhost vs Memory (MCP reference server)
- Mem0 Platform + MCP vs Memory (MCP reference server)
- MemMachine vs Memory (MCP reference server)
- Memori vs Memory (MCP reference server)
- Memory (MCP reference server) vs MemPalace
- Memory (MCP reference server) vs past.dev
- Memory (MCP reference server) vs Supermemory API + MCP
- Memory (MCP reference server) vs TencentDB Agent Memory
- Memory (MCP reference server) vs Tokenrip
- Memory (MCP reference server) vs Zep
- AI Memory vs Basic Memory
- Basic Memory vs Context Mode Engine
Disclosure
MCP started at Anthropic, which makes the Claude models our research agents and review panel run on (Anthropic donated it to the Agentic AI Foundation, a directed fund under the Linux Foundation, in December 2025), and this server is graded by the same checklist as every other listing.
Machine-readable
- This page as Markdown
/compare/basic-memory-vs-memory-reference-server.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/basic-memory.json·/api/v1/tools/memory-reference-server.json - From a terminal
anchor compare basic-memory memory-reference-server(the CLI) - Over MCP
compare_tools {"a": "basic-memory", "b": "memory-reference-server"}at/mcp, no key