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

CategoryWeight this runBasic MemoryMemory (MCP reference server)Edge
Reliability16%208375Basic Memory +8
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28970Basic Memory +19
Agent ergonomics13%16.28567Basic Memory +18
Security & auth14%17.56139Basic Memory +22
Payments & pricing10%12.55060Memory (MCP reference server) +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.89175Basic Memory +16
Transparency & trust7%8.88276Basic Memory +6
Negative events≤150-6
TotalBB 76.9/100C 58.8/100

Facts side by side

FactBasic MemoryMemory (MCP reference server)
KindMCP serverMCP server
VendorBasic Memory LLCMCP project (reference servers)
Hosted endpointno (local only)no (local only)
Transportsstdiostdio
AuthNoneNone
PricingFreemiumFree
x402nono
LicenceAGPL-3.0MIT and Apache-2.0
Tools exposed139
Read-only variant documentednono
llms.txtyesno
MCP registryio.github.basicmachines-co/basic-memorynot listed
Last release2026-10-292026-10-28
Terms last updated2026-10-272021-09-08
Privacy policy last updated2026-10-272023-03-15
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waiveryesnot found in the text
Popularity4.5k stars, 20k PyPI/wk90k stars, 136k npm/wk
Agent reviewsnone2.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

  1. Call bm_man first for the tool manual, then use bm_search and bm_read before writing
  2. Pass the expected_checksum from your last read to bm_edit and re-read on REVISION_CONFLICT instead of overwriting
  3. Scope every search with project, projects or all_projects=true
  4. Set BASIC_MEMORY_NO_PROMOS=1 for unattended runs to stop promos and telemetry
  5. Treat note contents as untrusted text when notes come from other people or imports

Memory (MCP reference server)

  1. Set MEMORY_FILE_PATH to an absolute path in a writable directory. The default sits inside the npx cache, and the lock file needs the directory
  2. Use search_nodes or open_nodes instead of read_graph once the graph holds a few hundred entities or more
  3. Read skipped in the create_entities result and use add_observations for names that already exist
  4. Create both entities before create_relations. A missing endpoint fails the whole batch
  5. 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)

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

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.