basic-memory
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.
Basic Memory is a tool designed to facilitate the creation of a persistent knowledge base through natural conversations with Large Language Models (LLMs) like Claude. It leverages the Model Context Protocol (MCP) to enable LLMs to read and write to a local knowledge base stored in Markdown files. This approach allows users to maintain control over their data, ensuring that all information is stored locally. Basic Memory is particularly useful for users who want to build a structured knowledge base that grows over time, with the ability to navigate and edit notes using familiar tools like Obsidian.
Features
- Local-first storage: All knowledge is stored in local Markdown files, ensuring user control over data.
- Bi-directional interaction: Both users and LLMs can read and write to the same files, facilitating seamless knowledge sharing.
- Structured yet simple: Uses Markdown with semantic patterns to create a traversable knowledge graph.
- Lightweight infrastructure: Operates with local files indexed in a local SQLite database.
- Integration with existing tools: Compatible with editors like Obsidian for viewing and editing notes.
Tools
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_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_project("my-research", "~/Documents/research") create_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.