freshcrate
Skin:/
Home > MCP Servers > basic-memory

basic-memory

AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN

README

License: AGPL v3 PyPI version Python 3.12+ Tests Ruff

🚀 Basic Memory Cloud is Live!

  • Cross-device and multi-platform support is here. Your knowledge graph now works on desktop, web, and mobile.
  • Cloud is optional. The local-first open-source workflow continues as always.
  • OSS discount: use code BMFOSS for 20% off for 3 months.

Sign up now →

with a 7 day free trial

Basic Memory

Basic Memory lets you build persistent knowledge through natural conversations with Large Language Models (LLMs) like Claude, while keeping everything in simple Markdown files on your computer. It uses the Model Context Protocol (MCP) to enable any compatible LLM to read and write to your local knowledge base.

What's New in v0.19.0

  • Semantic Vector Search — find notes by meaning, not just keywords. Combines full-text and vector similarity for hybrid search with FastEmbed embeddings.
  • Schema System — infer, validate, and diff the structure of your knowledge base with schema_infer, schema_validate, and schema_diff tools.
  • Per-Project Cloud Routing — route individual projects through the cloud while others stay local, using API key authentication (basic-memory project set-cloud).
  • FastMCP 3.0 — upgraded to FastMCP 3.0 with tool annotations for better client integration.
  • CLI Overhaul — JSON output mode (--json) for scripting, workspace-aware commands, and an htop-inspired project dashboard.
  • Smarter Editing — edit_note append/prepend auto-creates notes if they don't exist; write_note has an overwrite guard to prevent accidental data loss.
  • Richer Search Results — matched chunk text returned in search results for better context.

See the full CHANGELOG for details.

Pick up your conversation right where you left off

  • AI assistants can load context from local files in a new conversation
  • Notes are saved locally as Markdown files in real time
  • No project knowledge or special prompting required
Claude-Demo-2ofps.mp4

Quick Start

# Install with uv (recommended)
uv tool install basic-memory

# Configure Claude Desktop (edit ~/Library/Application Support/Claude/claude_desktop_config.json)
# Add this to your config:
{
  "mcpServers": {
    "basic-memory": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ]
    }
  }
}
# Now in Claude Desktop, you can:
# - Write notes with "Create a note about coffee brewing methods"
# - Read notes with "What do I know about pour over coffee?"
# - Search with "Find information about Ethiopian beans"

You can view shared context via files in ~/basic-memory (default directory location).

Automatic Updates

Basic Memory includes a default-on auto-update flow for CLI installs.

  • Auto-install supported: uv tool and Homebrew installs
  • Default check interval: every 24 hours (86400 seconds)
  • MCP-safe behavior: update checks run silently in basic-memory mcp mode
  • uvx behavior: skipped (runtime is ephemeral and managed by uvx)

Manual update commands:

# Check now and install if supported
bm update

# Check only, do not install
bm update --check

Config options in ~/.basic-memory/config.json:

{
  "auto_update": true,
  "update_check_interval": 86400
}

To disable automatic updates, set "auto_update": false.

Why Basic Memory?

Most LLM interactions are ephemeral - you ask a question, get an answer, and everything is forgotten. Each conversation starts fresh, without the context or knowledge from previous ones. Current workarounds have limitations:

  • Chat histories capture conversations but aren't structured knowledge
  • RAG systems can query documents but don't let LLMs write back
  • Vector databases require complex setups and often live in the cloud
  • Knowledge graphs typically need specialized tools to maintain

Basic Memory addresses these problems with a simple approach: structured Markdown files that both humans and LLMs can read and write to. The key advantages:

  • Local-first: All knowledge stays in files you control
  • Bi-directional: Both you and the LLM read and write to the same files
  • Structured yet simple: Uses familiar Markdown with semantic patterns
  • Traversable knowledge graph: LLMs can follow links between topics
  • Standard formats: Works with existing editors like Obsidian
  • Lightweight infrastructure: Just local files indexed in a local SQLite database

With Basic Memory, you can:

  • Have conversations that build on previous knowledge
  • Create structured notes during natural conversations
  • Have conversations with LLMs that remember what you've discussed before
  • Navigate your knowledge graph semantically
  • Keep everything local and under your control
  • Use familiar tools like Obsidian to view and edit notes
  • Build a personal knowledge base that grows over time
  • Sync your knowledge to the cloud with bidirectional synchronization
  • Authenticate and manage cloud projects with subscription validation
  • Mount cloud storage for direct file access

How It Works in Practice

Let's say you're exploring coffee brewing methods and want to capture your knowledge. Here's how it works:

  1. Start by chatting normally:
I've been experimenting with different coffee brewing methods. Key things I've learned:

- Pour over gives more clarity in flavor than French press
- Water temperature is critical - around 205°F seems best
- Freshly ground beans make a huge difference

... continue conversation.

  1. Ask the LLM to help structure this knowledge:
"Let's write a note about coffee brewing methods."

LLM creates a new Markdown file on your system (which you can see instantly in Obsidian or your editor):

---
title: Coffee Brewing Methods
permalink: coffee-brewing-methods
tags:
- coffee
- brewing
---

# Coffee Brewing Methods

## Observations

- [method] Pour over provides more clarity and highlights subtle flavors
- [technique] Water temperature at 205°F (96°C) extracts optimal compounds
- [principle] Freshly ground beans preserve aromatics and flavor

## Relations

- relates_to [[Coffee Bean Origins]]
- requires [[Proper Grinding Technique]]
- affects [[Flavor Extraction]]

The note embeds semantic content and links to other topics via simple Markdown formatting.

  1. You see this file on your computer in real time in the current project directory (default ~/$HOME/basic-memory).
  • Realtime sync can be enabled via running basic-memory sync --watch
  1. In a chat with the LLM, you can reference a topic:
Look at `coffee-brewing-methods` for context about pour over coffee

The LLM can now build rich context from the knowledge graph. For example:

Following relation 'relates_to [[Coffee Bean Origins]]':
- Found information about Ethiopian Yirgacheffe
- Notes on Colombian beans' nutty profile
- Altitude effects on bean characteristics

Following relation 'requires [[Proper Grinding Technique]]':
- Burr vs. blade grinder comparisons
- Grind size recommendations for different methods
- Impact of consistent particle size on extraction

Each related document can lead to more context, building a rich semantic understanding of your knowledge base.

This creates a two-way flow where:

  • Humans write and edit Markdown files
  • LLMs read and write through the MCP protocol
  • Sync keeps everything consistent
  • All knowledge stays in local files.

Technical Implementation

Under the hood, Basic Memory:

  1. Stores everything in Markdown files
  2. Uses a SQLite database for searching and indexing
  3. Extracts semantic meaning from simple Markdown patterns
    • Files become Entity objects
    • Each Entity can have Observations, or facts associated with it
    • Relations connect entities together to form the knowledge graph
  4. Maintains the local knowledge graph derived from the files
  5. Provides bidirectional synchronization between files and the knowledge graph
  6. Implements the Model Context Protocol (MCP) for AI integration
  7. Exposes tools that let AI assistants traverse and manipulate the knowledge graph
  8. Uses memory:// URLs to reference entities across tools and conversations

The file format is just Markdown with some simple markup:

Each Markdown file has:

Frontmatter

title: <Entity title>
type: <The type of Entity> (e.g. note)
permalink: <a uri slug>

- <optional metadata> (such as tags) 

Observations

Observations are facts about a topic. They can be added by creating a Markdown list with a special format that can reference a category, tags using a "#" character, and an optional context.

Observation Markdown format:

- [category] content #tag (optional context)

Examples of observations:

- [method] Pour over extracts more floral notes than French press
- [tip] Grind size should be medium-fine for pour over #brewing
- [preference] Ethiopian beans have bright, fruity flavors (especially from Yirgacheffe)
- [fact] Lighter roasts generally contain more caffeine than dark roasts
- [experiment] Tried 1:15 coffee-to-water ratio with good results
- [resource] James Hoffman's V60 technique on YouTube is excellent
- [question] Does water temperature affect extraction of different compounds differently?
- [note] My favorite local shop uses a 30-second bloom time

Relations

Relations are links to other topics. They define how entities connect in the knowledge graph.

Markdown format:

- relation_type [[WikiLink]] (optional context)

Examples of relations:

- pairs_well_with [[Chocolate Desserts]]
- grown_in [[Ethiopia]]
- contrasts_with [[Tea Brewing Methods]]
- requires [[Burr Grinder]]
- improves_with [[Fresh Beans]]
- relates_to [[Morning Routine]]
- inspired_by [[Japanese Coffee Culture]]
- documented_in [[Coffee Journal]]

Using with VS Code

Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

{
  "mcp": {
    "servers": {
      "basic-memory": {
        "command": "uvx",
        "args": ["basic-memory", "mcp"]
      }
    }
  }
}

Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.

{
  "servers": {
    "basic-memory": {
      "command": "uvx",
      "args": ["basic-memory", "mcp"]
    }
  }
}

You can use Basic Memory with VS Code to easily retrieve and store information while coding.

Using with Claude Desktop

Basic Memory is built using the MCP (Model Context Protocol) and works with the Claude desktop app (https://claude.ai/):

  1. Configure Claude Desktop to use Basic Memory:

Edit your MCP configuration file (usually located at ~/Library/Application Support/Claude/claude_desktop_config.json for OS X):

{
  "mcpServers": {
    "basic-memory": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp"
      ]
    }
  }
}

If you want to use a specific project (see Multiple Projects below), update your Claude Desktop config:

{
  "mcpServers": {
    "basic-memory": {
      "command": "uvx",
      "args": [
        "basic-memory",
        "mcp",
        "--project",
        "your-project-name"
      ]
    }
  }
}
  1. Sync your knowledge:
# One-time sync of local knowledge updates
basic-memory sync

# Run realtime sync process (recommended)
basic-memory sync --watch
  1. Cloud features (optional, requires subscription):
# Authenticate with cloud (stores OAuth token locally)
basic-memory cloud login

# (Optional) install/configure rclone for file sync commands
basic-memory cloud setup

# Check cloud auth + health
basic-memory cloud status

Per-Project Cloud Routing (API key based):

Individual projects can be routed through the cloud while others stay local. This uses an API key for routed project calls:

# Save an API key (create one in the web app or via CLI)
basic-memory cloud set-key bmc_abc123...
# Or create one via CLI (requires OAuth login first)
basic-memory cloud create-key "my-laptop"

# Set a project to route through cloud
basic-memory project set-cloud research

# Revert a project to local mode
basic-memory project set-local research

# List projects and route metadata
basic-memory project list

basic-memory cloud login / basic-memory cloud logout are authentication commands. They do not change default CLI routing behavior.

Routing Flags:

Use routing flags to disambiguate command targets:

# Force local routing for this command
basic-memory status --local
basic-memory project list --local
basic-memory project ls --name main --local

# Force cloud routing for this command
basic-memory status --cloud
basic-memory project info my-project --cloud
basic-memory project ls --name main --cloud

No-flag behavior defaults to local when no project context is present.

The local MCP server routes per transport: --transport stdio honors per-project routing (local or cloud), while --transport streamable-http and --transport sse always route locally.

CLI Note Editing (tool edit-note):

# Append content
basic-memory tool edit-note project-plan --operation append --content $'\n## Next Steps\n- Finalize rollout'

# Find/replace with replacement count validation
basic-memory tool edit-note docs/api --operation find_replace --find-text "v0.14.0" --content "v0.15.0" --expected-replacements 2

# Replace a section body
basic-memory tool edit-note docs/setup --operation replace_section --section "## Installation" --content $'Updated install steps\n- Run just install'

# JSON metadata output for integrations
basic-memory tool edit-note docs/setup --operation append --content $'\n- Added note' --format json
  1. In Claude Desktop, the LLM can now use these tools:

Content Management:

write_note(title, content, folder, tags, output_format="text"|"json") - Create or update notes
read_note(identifier, page, page_size, output_format="text"|"json") - Read notes by title or permalink
read_content(path) - Read raw file content (text, images, binaries)
view_note(identifier) - View notes as formatted artifacts
edit_note(identifier, operation, content, output_format="text"|"json") - Edit notes incrementally
move_note(identifier, destination_path, output_format="text"|"json") - Move notes with database consistency
delete_note(identifier, output_format="text"|"json") - Delete notes from knowledge base

Knowledge Graph Navigation:

build_context(url, depth, timeframe, output_format="json"|"text") - Navigate knowledge graph via memory:// URLs
recent_activity(type, depth, timeframe, output_format="text"|"json") - Find recently updated information
list_directory(dir_name, depth) - Browse directory contents with filtering

Search & Discovery:

search(query, page, page_size) - Search across your knowledge base
search_notes(query, page, page_size, search_type, types, entity_types, after_date, metadata_filters, tags, status, project) - Search with filters (query is optional for filter-only searches)

Project Management:

list_memory_projects(output_format="text"|"json") - List all available projects
create_memory_project(project_name, project_path, output_format="text"|"json") - Create new projects
get_current_project() - Show current project stats
sync_status() - Check synchronization status

output_format defaults to "text" for these tools, preserving current human-readable responses. build_context defaults to "json" and can be switched to "text" when compact markdown output is preferred.

Cloud Discovery (opt-in):

cloud_info() - Show optional Cloud overview and setup guidance
release_notes() - Show latest release notes

Visualization:

canvas(nodes, edges, title, folder) - Generate knowledge visualizations
  1. Example prompts to try:
"Create a note about our project architecture decisions"
"Find information about JWT authentication in my notes"
"Create a canvas visualization of my project components"
"Read my notes on the authentication system"
"What have I been working on in the past week?"

Futher info

See the Documentation for more info, including:

Telemetry

Basic Memory collects anonymous, minimal usage events to understand how the CLI-to-cloud conversion funnel performs. This helps us prioritize features and improve the product.

What we collect:

  • Cloud promo impressions (when the promo banner is shown)
  • Cloud login attempts and outcomes
  • Promo opt-out events

What we do NOT collect:

  • No file contents, note titles, or knowledge base data
  • No personally identifiable information (PII)
  • No IP address tracking or fingerprinting
  • No per-command or per-tool-call tracking

Events are sent to our Umami Cloud instance, an open-source, privacy-focused analytics platform. Events are fire-and-forget on a background thread — analytics never blocks or slows the CLI.

Opt out by setting the environment variable:

export BASIC_MEMORY_NO_PROMOS=1

This disables both promo messages and all telemetry events.

Logging

Basic Memory uses Loguru for logging. The logging behavior varies by entry point:

Entry Point Default Behavior Use Case
CLI commands File only Prevents log output from interfering with command output
MCP server File only Stdout would corrupt the JSON-RPC protocol
API server File (local) or stdout (cloud) Docker/cloud deployments use stdout

Log file location: ~/.basic-memory/basic-memory.log (10MB rotation, 10 days retention)

Environment Variables

Variable Default Description
BASIC_MEMORY_LOG_LEVEL INFO Log level: DEBUG, INFO, WARNING, ERROR
BASIC_MEMORY_CLOUD_MODE false When true, API logs to stdout with structured context
BASIC_MEMORY_FORCE_LOCAL false When true, forces local API routing
BASIC_MEMORY_FORCE_CLOUD false When true, forces cloud API routing
BASIC_MEMORY_EXPLICIT_ROUTING false When true, marks route selection as explicit (--local/--cloud)
BASIC_MEMORY_ENV dev Set to test for test mode (stderr only)
BASIC_MEMORY_NO_PROMOS false When true, disables cloud promo messages and telemetry

Examples

# Enable debug logging
BASIC_MEMORY_LOG_LEVEL=DEBUG basic-memory sync

# View logs
tail -f ~/.basic-memory/basic-memory.log

# Cloud/Docker mode (stdout logging with structured context)
BASIC_MEMORY_CLOUD_MODE=true uvicorn basic_memory.api.app:app

Development

Running Tests

Basic Memory supports dual database backends (SQLite and Postgres). By default, tests run against SQLite. Set BASIC_MEMORY_TEST_POSTGRES=1 to run against Postgres (uses testcontainers - Docker required).

Quick Start:

# Run all tests against SQLite (default, fast)
just test-sqlite

# Run all tests against Postgres (uses testcontainers)
just test-postgres

# Run both SQLite and Postgres tests
just test

Available Test Commands:

  • just test - Run all tests against both SQLite and Postgres
  • just test-sqlite - Run all tests against SQLite (fast, no Docker needed)
  • just test-postgres - Run all tests against Postgres (uses testcontainers)
  • just test-unit-sqlite - Run unit tests against SQLite
  • just test-unit-postgres - Run unit tests against Postgres
  • just test-int-sqlite - Run integration tests against SQLite
  • just test-int-postgres - Run integration tests against Postgres
  • just test-windows - Run Windows-specific tests (auto-skips on other platforms)
  • just test-benchmark - Run performance benchmark tests
  • just testmon - Run tests impacted by recent changes (pytest-testmon)
  • just test-smoke - Run fast MCP end-to-end smoke test
  • just fast-check - Run fix/format/typecheck + impacted tests + smoke test
  • just doctor - Run local file <-> DB consistency checks with temp config

Postgres Testing:

Postgres tests use testcontainers which automatically spins up a Postgres instance in Docker. No manual database setup required - just have Docker running.

Testmon Note: When no files have changed, just testmon may collect 0 tests. That's expected and means no impacted tests were detected.

Test Markers:

Tests use pytest markers for selective execution:

  • windows - Windows-specific database optimizations
  • benchmark - Performance tests (excluded from default runs)
  • smoke - Fast MCP end-to-end smoke tests

Other Development Commands:

just install          # Install with dev dependencies
just lint             # Run linting checks
just typecheck        # Run type checking
just typecheck-ty     # Run ty type checking (incremental supplement to pyright)
just format           # Format code with ruff
just fast-check       # Fast local loop (fix/format/typecheck + testmon + smoke)
just doctor           # Local consistency check (temp config)
just check            # Run all quality checks
just migration "msg"  # Create database migration

Type Checking Strategy:

  • just typecheck (Pyright) remains the primary, blocking type checker.
  • just typecheck-ty (Astral ty) is available as a supplemental checker while rules are adopted incrementally.
  • We recommend running both locally while reducing ty diagnostics over time.

Local Consistency Check:

basic-memory doctor   # Verifies file <-> database sync in a temp project

See the justfile for the complete list of development commands.

License

AGPL-3.0

Contributions are welcome. See the Contributing guide for info about setting up the project locally and submitting PRs.

Star History

Star History Chart

Built with â™Ĩī¸ by Basic Machines

Release History

VersionChangesUrgencyDate
v0.21.6## What's Changed * fix(cli): block team workspace rclone sync by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/855 * feat(cli): expose project sync support metadata by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/856 * fix(cli): handle non-subscription errors in cloud login by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/870 * chore: add cross-vendor adversarial-review skill by @phernandez in https://github.com/basicmachines-co/baHigh6/5/2026
v0.21.5## What's Changed * fix(mcp): preinitialize local ASGI database by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/838 * fix(core): load sqlite-vec before vector table cleanup by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/852 * fix(mcp): return workspace-qualified write permalinks by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/853 * fix(mcp): attach local state to one workspace project row by @groksrc in https://github.com/basicmaHigh5/26/2026
v0.21.4## What's Changed * docs(core): move release process from CONTRIBUTING.md to AGENTS.md by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/846 * fix(mcp): restore write_note overwrite schema for external clients (#818) by @rudi193-cmd in https://github.com/basicmachines-co/basic-memory/pull/841 * fix(cli): ignore CancelledError in background task done callback (#839) by @rudi193-cmd in https://github.com/basicmachines-co/basic-memory/pull/842 **Full Changelog**: https://githubHigh5/23/2026
v0.21.1## What's Changed * ci(installer): inline Homebrew formula bump by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/833 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.21.0...v0.21.1High5/16/2026
v0.20.3## What's Changed * fix(cli): use resolved project path in doctor command by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/667 * fix(core): exclude stale entity rows from embedding coverage stats by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/675 * fix(mcp): add project detection from memory:// URLs in edit_note and delete_note by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/668 * fix(core): allow double-dot filenames while Medium3/27/2026
v0.20.2**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.20.1...v0.20.2Low3/11/2026
v0.20.1## What's Changed * fix(cli): project list MCP column shows transport type instead of DB presence by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/661 * fix(core): invalidate config cache when file is modified by another process by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/662 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.20.0...v0.20.1Low3/11/2026
v0.20.0## What's Changed * feat(cli): add default-on auto-update system and bm update command by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/643 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.19.2...v0.20.0Low3/11/2026
v0.19.2## What's Changed * fix(core): handle SQLite and Windows semantic regressions by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/655 * fix: coerce string params to list/dict in MCP tools by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/657 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.19.1...v0.19.2Low3/10/2026
v0.19.1## What's Changed * chore(deps): bump authlib from 1.6.6 to 1.6.7 in the uv group across 1 directory by @dependabot[bot] in https://github.com/basicmachines-co/basic-memory/pull/645 * feat: add insert_before_section and insert_after_section edit operations by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/648 * fix: enforce strict entity resolution in destructive MCP tools by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/650 ## New Contributors * @deLow3/8/2026
v0.19.0## What's Changed * feat: Schema system for Basic Memory by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/549 * fix: use VIRTUAL instead of STORED columns in SQLite migration by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/562 * chore: Release/v0.18.2 by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/563 * fix: use global --header for Tigris consistency on all rclone transactions by @phernandez in https://github.com/basicmachinLow3/7/2026
v0.18.5**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.18.4...v0.18.5Low2/20/2026
v0.18.4**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.18.2...v0.18.4 ### Bug Fixes - Use global `--header` flag for Tigris consistency on all rclone transactions ([`0eae0e1`](https://github.com/basicmachines-co/basic-memory/commit/0eae0e1)) - `--header-download` / `--header-upload` only apply to GET/PUT requests, missing S3 ListObjectsV2 calls that bisync issues first. Non-US users saw stale edge-cached metadata. - `--header` applies to ALL HTTP transactionsLow2/12/2026
v0.18.2## v0.18.2 (2026-02-11) ### Bug Fixes - **#562**: Use VIRTUAL instead of STORED columns in SQLite migration ([`344e651`](https://github.com/basicmachines-co/basic-memory/commit/344e651)) - Fixes compatibility issue with SQLite STORED generated columns **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.18.1...v0.18.2Low2/12/2026
v0.18.1## What's Changed * fix: prevent spurious 'metadata: {}' in frontmatter output by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/530 * feat: fast edit entities, refactors for webui, enhance search by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/532 * fix: stabilize metadata filters on postgres by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/536 * chore: Add fast feedback loop tooling by @phernandez in https://github.com/basicmLow2/11/2026
v0.18.0## What's Changed * fix: resolve MCP prompt rendering errors by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/524 * feat: Feature/517 local mcp cloud mode by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/522 * feat: add directory support to move_note and delete_note tools by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/518 * feat: add context-aware wiki link resolution with source_path support by @groksrc in https://github.com/baLow1/30/2026
v0.17.9## What's Changed * fix: check config default_project only in local mode for remove_project by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/523 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.17.8...v0.17.9Low1/24/2026
v0.17.8## What's Changed * feat: add SPEC-29 Phase 3 bucket snapshot CLI commands by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/476 * fix: read default project from database in cloud mode by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/520 * fix: correct get_default_project() query to check for True instead of not NULL by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/521 **Full Changelog**: https://github.com/basicmachines-co/baLow1/24/2026
v0.17.7## What's Changed * chore: Remove OpenPanel telemetry by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/514 * fix: ensure external_id is set on entity creation (#512) by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/513 * feat: Add MCP registry publication files by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/515 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.17.6...v0.17.7Low1/19/2026
v0.17.6**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.17.5...v0.17.6Low1/17/2026
v0.17.5## What's Changed * fix: prevent CLI commands from hanging on exit (Python 3.14) by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/505 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.17.4...v0.17.5 ## What's Changed * fix: prevent CLI commands from hanging on exit (Python 3.14) by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/505 * fix: Docker container Python symlink broken at runtime by @groksrc in https://github.cLow1/11/2026
v0.17.4## What's Changed * refactor: composition roots, deps split, and typed API clients (#490 roadmap) by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/502 * fix: preserve search index across server restarts by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/503 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.17.3...v0.17.4Low1/6/2026
v0.17.3## What's Changed * fix: make RelationResponse.from_id optional to handle null permalinks by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/484 * fix: set_default_project skips config file update in cloud mode by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/486 * feat: add stable external_id (UUID) to Project and Entity models by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/485 * test: remove stdlib mocks, strengthen integration Low1/3/2026
v0.17.2**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.17.1...v0.17.2Low12/29/2025
v0.17.1## What's Changed * fix: only set BASIC_MEMORY_ENV=test during pytest runs by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/482 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.17.0...v0.17.1Low12/29/2025
v0.17.0## What's Changed * fix: prevent CLI commands from hanging on exit by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/471 * fix: detect rclone version for --create-empty-src-dirs support by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/473 * feat: Complete Phase 2 of API v2 migration - Update MCP tools to use v2 endpoints by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/447 * fix: handle null titles in ChatGPT import by @phernandez Low12/28/2025
v0.16.3## What's Changed * fix: handle periods in kebab_filenames mode by @divideby0 in https://github.com/basicmachines-co/basic-memory/pull/424 * feat: Add PostgreSQL database backend support by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/439 * feat: Implement API v2 with ID-based endpoints (Phase 1) by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/441 * fix: respect --project flag in background sync (fixes #434) by @divideby0 in https://github.com/basicmaLow12/20/2025
v0.16.2## What's Changed * fix: main project always recreated on project list command by @bdmayes in https://github.com/basicmachines-co/basic-memory/pull/421 * fix: Add rclone installation checks for Windows bisync commands by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/427 * fix: Use platform-native path separators in config.json by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/429 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compareLow11/17/2025
v0.16.1## What's Changed * fix: Handle Windows line endings in rclone bisync by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/422 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.16.0...v0.16.1Low11/11/2025
v0.16.0## What's Changed * fix: Handle None text values in Claude conversations importer by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/353 * fix: Make project creation endpoint idempotent by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/357 * feat: Add --verbose and --no-gitignore options to cloud upload by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/362 * feat: Add circuit breaker for file sync failures by @phernandez in https:/Low11/11/2025
v0.15.2## What's Changed * feat: Add WebDAV upload command for cloud projects by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/356 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.15.1...v0.15.2Low10/14/2025
v0.15.1## What's Changed * fix: cloud mode path validation and sanitization (bmc-issue-103) by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/332 * feat: introduce BASIC_MEMORY_PROJECT_ROOT for path constraints by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/334 * chore: v0.15.0 assistant guide by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/335 * fix: normalize paths to lowercase in cloud mode to prevent case collisions by @phernandLow10/13/2025
v0.15.0## What's Changed * chore: apply lint and formatting fixes for 0.14.4 release by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/290 * feat: Merge Cloud auth by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/291 * fix: rename MCP prompt names to avoid slash command parsing issues by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/289 * fix: replace deprecated json_encoders with Pydantic V2 field serializers by @phernandez in https://github.cLow10/4/2025
v0.14.4## What's Changed * fix: Critical search index bug - prevent note disappearing on edit by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/257 * fix: Add missing foreign key constraints for project removal (#254) by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/258 * fix: Enable string-to-integer conversion for build_context depth parameter by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/259 * fix: handle vim atomic write DELETE events wiLow9/4/2025
v0.14.3## What's Changed * chore: Cloud auth by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/213 * docs: improve virtual environment setup instructions by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/222 * fix: path traversal security vulnerability in mcp tools by @jope-bm in https://github.com/basicmachines-co/basic-memory/pull/223 * fix: basic memory home env var not respected when project path is changed. by @jope-bm in https://github.com/basicmachines-coLow8/2/2025
v0.14.2## What's Changed * fix: replace deprecated datetime.utcnow() with timezone-aware alternatives and suppress SQLAlchemy warnings by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/211 * fix: MCP Error with MCP-Hub #204 by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/212 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.14.1...v0.14.2Low7/3/2025
v0.14.1## What's Changed * feat: Add to cursor button by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/200 * fix: Problems with MCP #190 by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/202 * fix: constrain fastmcp version to prevent breaking changes by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/203 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.14.0...v0.14.1Low7/2/2025
v0.14.0## What's Changed * feat: add Docker container support with volume mounting by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/131 * fix: fastmcp deprecation warning by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/150 * fix: resolve project state inconsistency between MCP and CLI by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/149 * fix: reset command now clears project configuration by @phernandez in https://github.com/basicmachiLow6/26/2025
v0.13.8-dev1## What's Changed * feat: add Docker container support with volume mounting by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/131 * fix: fastmcp deprecation warning by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/150 * fix: resolve project state inconsistency between MCP and CLI by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/149 * fix: reset command now clears project configuration by @phernandez in https://github.com/basicmachiLow6/20/2025
v0.13.7## What's Changed * feat: Automatically update Homebrew by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/147 NOTE: This version is the same package as v0.13.6. The version bump is to test the CI and make sure the Homebrew auto-update process is completely working. Installation by Homebrew is now fully supported. **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.13.6...v0.13.7Low6/19/2025
v0.13.6## What's Changed * fix: correct spelling error "Chose" to "Choose" in continue_conversation prompt by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/141 * fix: UNIQUE constraint failed: entity.permalink issue #139 by @groksrc in https://github.com/basicmachines-co/basic-memory/pull/140 * fix: add entity_type parameter to write_note MCP tool by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/145 * fix: eliminate redundant database migration initialization Low6/18/2025
v0.13.5### Bug Fixes - **MCP Tools**: Renamed `create_project` tool to `create_memory_project` for namespace isolation - **Namespace**: Continued namespace isolation effort to prevent conflicts with other MCP servers ### Changes - Tool functionality remains identical - only the name changed from `create_project` to `create_memory_project` - All integration tests updated to use the new tool name - Completes namespace isolation for project management tools alongside `list_memory_projects` Low6/12/2025
v0.13.4### Bug Fixes - **MCP Tools**: Renamed `list_projects` tool to `list_memory_projects` to avoid naming conflicts with other MCP servers - **Namespace**: Improved tool naming specificity for better MCP server integration and isolation ### Changes - Tool functionality remains identical - only the name changed from `list_projects` to `list_memory_projects` - All integration tests updated to use the new tool name - Better namespace isolation for Basic Memory MCP tools **Full Changelog*Low6/12/2025
v0.13.3## Bug Fixes - **Projects**: Fixed case-insensitive project switching where switching succeeded but subsequent operations failed due to session state inconsistency - **Config**: Enhanced config manager with case-insensitive project lookup using permalink-based matching - **MCP Tools**: Updated project management tools to store canonical project names from database instead of user input - **API**: Improved project service to handle both name and permalink lookups consistently **Full ChLow6/12/2025
v0.13.2## What's Changed * fix: project cli commands and case sensitivity when switching projects by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/130 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.13.1...v0.13.2Low6/11/2025
v0.13.1## Bug Fixes - **CLI**: Fixed `basic-memory project` project management commands that were not working in v0.13.0 (#129) - **Projects**: Resolved case sensitivity issues when switching between projects that caused "Project not found" errors (#127) - **API**: Standardized CLI project command endpoints and improved error handling - **Core**: Implemented consistent project name handling using permalinks to avoid case-related conflicts ### Changes - Renamed `basic-memory project sync` Low6/11/2025
v0.13.0## What's Changed ### Overview Basic Memory v0.13.0 is a **major release** that transforms Basic Memory into a true multi-project knowledge management system. This release introduces fluid project switching, advanced note editing capabilities, and robust file management - all while maintaining full backward compatibility. **What's New for Users:** - đŸŽ¯ **Switch between projects instantly** during conversations with Claude - âœī¸ **Edit notes incrementally** without rewriting entire docuLow6/11/2025
v0.13.0b6**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.13.0b5...v0.13.0b6Low6/9/2025
v0.13.0b5**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.13.0b4...v0.13.0b5Low6/5/2025
v0.13.0b4**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.13.0b3...v0.13.0b4Low6/3/2025
v0.13.0b3**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.13.0b2...v0.13.0b3Low6/3/2025
v0.13.0b2**Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.13.0b1...v0.13.0b2Low6/3/2025
v0.13.0b1## What's Changed * feat: Multi-project support, OAuth authentication, and major improvements by @bm-claudeai in https://github.com/basicmachines-co/basic-memory/pull/119 * feat: Add Claude Code GitHub Workflow by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/120 * feat: v0.13.0 pre by @phernandez in https://github.com/basicmachines-co/basic-memory/pull/122 **Full Changelog**: https://github.com/basicmachines-co/basic-memory/compare/v0.12.3...v0.13.0b1Low6/3/2025
v0.12.3## v0.12.3 (2025-04-17) _This release is published under the AGPL-3.0-or-later License._ ### Bug Fixes - Add extra logic for permalink generation with mixed Latin unicode and Chinese characters ([`73ea91f`](https://github.com/basicmachines-co/basic-memory/commit/73ea91fe0d1f7ab89b99a1b691d59fe608b7fcbb)) - Modify recent_activity args to be strings instead of enums ([`3c1cc34`](https://github.com/basicmachines-co/basic-memory/commit/3c1cc346df519e703fae6412d43a92c7232c6226)) --- **DLow4/17/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

jdocmunch-mcpThe leading, most token-efficient MCP server for documentation exploration and retrieval via structured section indexingv1.67.0
discord.py-self-mcpcomprehensive Discord selfbot MCP server using discord.py-selfv1.3.0
scraper-mcp🌐 Streamline web scraping with Scraper MCP, a server that optimizes content for AI by filtering data and reducing token usage for LLMs.main@2026-06-05
tekmetric-mcp🔍 Ask questions about your shop data in natural language and get instant answers about appointments, customers, and repair orders with Tekmetric MCP.main@2026-06-05
agentic-codingAgentic Coding Rules, Templates etc...main@2026-06-05

More in MCP Servers

AstrBotAgentic IM Chatbot infrastructure that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨
agentscopeBuild and run agents you can see, understand and trust.
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme