basic-memory

basicmachines-co/basic-memory

4.6

basic-memory is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.

If you are the rightful owner of basic-memory and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Basic Memory is a tool that allows users to build a persistent knowledge base through natural conversations with LLMs, storing information in Markdown files.

Try basic-memory with chat:

Tools

Functions exposed to the LLM to take actions

delete_note

Delete a note by title or permalink

read_content

Read a file's raw content by path or permalink

build_context

Build context from a memory:// URI to continue conversations naturally.

Use this to follow up on previous discussions or explore related topics.

Memory URL Format:
- Use paths like "folder/note" or "memory://folder/note" 
- Pattern matching: "folder/*" matches all notes in folder
- Valid characters: letters, numbers, hyphens, underscores, forward slashes
- Avoid: double slashes (//), angle brackets (<>), quotes, pipes (|)
- Examples: "specs/search", "projects/basic-memory", "notes/*"

Timeframes support natural language like:
- "2 days ago", "last week", "today", "3 months ago"
- Or standard formats like "7d", "24h"

recent_activity

Get recent activity from across the knowledge base.

Timeframe supports natural language formats like:
- "2 days ago"  
- "last week"
- "yesterday" 
- "today"
- "3 weeks ago"
Or standard formats like "7d"

search_notes

Search across all content in the knowledge base with advanced syntax support.

read_note

Read a markdown note by title or permalink.

view_note

View a note as a formatted artifact for better readability.

write_note

Create or update a markdown note. Returns a markdown formatted summary of the semantic content.

canvas

Create an Obsidian canvas file to visualize concepts and connections.

list_directory

List directory contents with filtering and depth control.

edit_note

Edit an existing markdown note using various operations like append, prepend, find_replace, or replace_section.

move_note

Move a note to a new location, updating database and maintaining links.

sync_status

Check the status of file synchronization and background operations.

Use this tool to:
- Check if file sync is in progress or completed
- Get detailed sync progress information  
- Understand if your files are fully indexed
- Get specific error details if sync operations failed
- Monitor initial project setup and legacy migration

This covers all sync operations including:
- Initial project setup and file indexing
- Legacy project migration to unified database
- Ongoing file monitoring and updates
- Background processing of knowledge graphs

list_memory_projects

List all available projects with their status.

Shows all Basic Memory projects that are available, indicating which one is currently active and which is the default.

Returns: Formatted list of projects with status indicators

Example: list_memory_projects()

switch_project

Switch to a different project context.

Changes the active project context for all subsequent tool calls. Shows a project summary after switching successfully.

Args: project_name: Name of the project to switch to

Returns: Confirmation message with project summary

Example: switch_project("work-notes") switch_project("personal-journal")

get_current_project

Show the currently active project and basic stats.

Displays which project is currently active and provides basic information about it.

Returns: Current project name and basic statistics

Example: get_current_project()

set_default_project

Set default project in config. Requires restart to take effect.

Updates the configuration to use a different default project. This change only takes effect after restarting the Basic Memory server.

Args: project_name: Name of the project to set as default

Returns: Confirmation message about config update

Example: set_default_project("work-notes")

create_memory_project

Create a new Basic Memory project.

Creates a new project with the specified name and path. The project directory will be created if it doesn't exist. Optionally sets the new project as default.

Args: project_name: Name for the new project (must be unique) project_path: File system path where the project will be stored set_default: Whether to set this project as the default (optional, defaults to False)

Returns: Confirmation message with project details

Example: create_memory_project("my-research", "~/Documents/research") create_memory_project("work-notes", "/home/user/work", set_default=True)

delete_project

Delete a Basic Memory project.

Removes a project from the configuration and database. This does NOT delete the actual files on disk - only removes the project from Basic Memory's configuration and database records.

Args: project_name: Name of the project to delete

Returns: Confirmation message about project deletion

Example: delete_project("old-project")

Warning: This action cannot be undone. The project will need to be re-added to access its content through Basic Memory again.

Prompts

Interactive templates invoked by user choice

Continue Conversation

Continue a previous conversation

Share Recent Activity

Get recent activity from across the knowledge base

Search Knowledge Base

Search across all content in basic-memory

sync_status_prompt

Get sync status with recommendations for AI assistants.

This prompt provides both current sync status and guidance on how
AI assistants should respond when sync operations are in progress or completed.

Resources

Contextual data attached and managed by the client

ai assistant guide

URI: memory://ai_assistant_guide

MIME: text/plain

Give an AI assistant guidance on how to use Basic Memory tools effectively

project_info

URI: memory://project_info

MIME: text/plain

Get information and statistics about the current Basic Memory project.