mothermachine

Browse / Notes and knowledge

Basic Memory

MCP-native persistent memory over an Obsidian-compatible markdown folder, local and free or hosted.

AdaptableOperable MCP serverMCP server Deterministic Python MCP server License: AGPL-3.0

Basic Memory gives Claude, Codex, Cursor, ChatGPT, and any MCP client a two-way knowledge base of markdown notes with a semantic graph. The MCP server is the primary interface; humans edit the same files in Obsidian or any editor. Local install is AGPL and free; the cloud edition hosts sync and the database for a seat price.

Use it when
  • you want Claude Code to remember decisions across sessions in files you can open in Obsidian
  • your team wants one shared memory that both people and their agents write to
Gotchas
  • AGPL-3.0 for the local edition
  • Install needs --prerelease=allow or you silently get an older release (README)
  • Semantic search and reranker add model dependencies; off by default
  • README describes one $15/mo plan; the pricing page lists Team $15/seat/mo and Business $30/seat/mo (SSO, audit logs), both per active seat

Last activity Sep 2, 2026. Fit: adaptable 2, operable 3.

Editions

Free (local) · Free open source

  • Clonegit clone https://github.com/basicmachines-co/basic-memory
  • Installuv tool install basic-memory --prerelease=allow
  • ImageContainer

closed source

closed source

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only18 things to edit

~/.basic-memory/config.json holds projects and paths; BASIC_MEMORY_* env vars switch the database backend (BASIC_MEMORY_DATABASE_BACKEND, BASIC_MEMORY_DATABASE_URL), enable semantic search and a reranker, and force local or cloud routing. Prompt-level behavior lives in the Claude Code plugin under plugins/claude-code/ (skills/*/SKILL.md, output-styles/, hooks/).

Env vars
BASIC_MEMORY_DATABASE_BACKEND BASIC_MEMORY_DATABASE_URL BASIC_MEMORY_SEMANTIC_SEARCH_ENABLED BASIC_MEMORY_RERANKER_ENABLED BASIC_MEMORY_RERANKER_PROVIDER BASIC_MEMORY_RERANKER_MODEL BASIC_MEMORY_LOG_LEVEL BASIC_MEMORY_FORCE_LOCAL BASIC_MEMORY_FORCE_CLOUD BASIC_MEMORY_CLOUD_MODE BASIC_MEMORY_IMPORT_UPLOAD_MAX_BYTES BASIC_MEMORY_NO_PROMOS
Config files
~/.basic-memory/config.json .env docker-compose.yml
Prompt files
plugins/claude-code/skills/*/SKILL.md plugins/claude-code/output-styles/basic-memory.md plugins/claude-code/
Accounts you need
Basic Memory account (cloud editions only)

Source

Operable: what an agent can drive

Interface

NativeMCP serverpublished by the builderremote or local

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
github.com/basicmachines-co/basic-memory
Tools
write_note read_note edit_note move_note search_notes recent_activity list_directory build_context

Reach

Partial coverage. 7 of 8 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Write, read, edit, and move notesReachableREADME tools: write_note, read_note, edit_note, move_note
Search notesReachablesearch_notes; optional semantic search and reranker enabled by BASIC_MEMORY_SEMANTIC_SEARCH_ENABLED
Recent activity and directory listingReachablerecent_activity, list_directory
Navigate the knowledge graphReachablebuild_context navigates memory:// URLs
Multiple projectsReachableREADME and triage: project paths in config.json; project switching tools
Cross-device syncReachablecloud edition only; local is manual (git, Syncthing)
Import chat exportsUndeterminedBASIC_MEMORY_IMPORT_UPLOAD_MAX_BYTES suggests an import path; not verified as a tool
Automatic context on every promptReachableplugins/claude-code/hooks/session_start.py and pre_compact.py plus skills/bm-*/SKILL.md call the MCP server

Code stack

Languages
Python
Frameworks
FastMCPSQLAlchemy
Package manager
uv
Database
SQLitePostgreSQLMilvus
Hosting target
localdocker
Built
Mixed (recorded, never ranked)

Model stack

Providers
any MCP client
Models
none
Keys you need
none
Prompts live in
plugins/claude-code/skills/*/SKILL.md plugins/claude-code/

Skills

Ships a set of memory-* skills and a Claude Code plugin that drive the MCP server; a separate .agents/skills/ tree is contributor tooling.

Kind
bundled
Paths
skills/memory-*/SKILL.md plugins/claude-code/.claude-plugin/ skills-lock.json
Install
npx skills add basicmachines-co/basic-memory/skills

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME: MCP-native; installed as a uv tool and registered with MCP clients95%
executionModelserver stores and searches files; the model is the client; embeddings optional75%
operabilityMCP is the primary interface by design; published by basicmachines-co95%
effortREADME and .env.example name BASIC_MEMORY_* vars and ~/.basic-memory/config.json85%
editionsbasicmemory.com/pricing: Team $15/seat/mo, Business $30/seat/mo; local AGPL free80%
activepushedAt 2026-09-02–
provenanceCLAUDE.md and AGENTS.md at root; no statement on authorship30%
reach80%

Open questions

  • Full MCP tool list including project and canvas tools (docs.basicmemory.com landing page did not list them)
  • Is there an import tool for chat exports, or is import CLI-only?

Sources