Basic Memory builds a knowledge graph from your Markdown files, where files become nodes (entities) connected by semantic relationships. This graph structure enables AI assistants to navigate and understand your knowledge contextually.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/basicmachines-co/basic-memory/llms.txt
Use this file to discover all available pages before exploring further.
Core Concepts
Entities
An entity is any concept, document, or idea represented as a Markdown file. Every file in your project becomes an entity in the knowledge graph.Entity Types
Thetype field (default: note) categorizes entities:
note- General knowledge notesPerson- People in your networkProject- Projects or initiativesMeeting- Meeting notesschema- Schema definitions (see Schemas)- Custom types - Any string you choose
Observations
An observation is a categorized fact about an entity. Observations let you structure information within a note without creating separate files.Observation Syntax
| Part | Required | Description |
|---|---|---|
[category] | Yes | Classification in square brackets |
| content | Yes | The fact or statement |
#tags | No | Space-separated hashtags |
(context) | No | Parenthesized supporting details at end |
Example Observations
Repeated Categories (Arrays)
Use the same category multiple times to create array-like data:name, one role, and three expertise observations.
What’s NOT an Observation
The parser excludes these patterns:| Pattern | Example | Reason |
|---|---|---|
| Checkboxes | - [ ] Todo item, - [x] Done | Task list syntax |
| Markdown links | - [text](url) | URL link syntax |
| Bare wiki links | - [[Target]] | Treated as relation instead |
A list item with
#tags but no [category] is still parsed - tags are extracted and category defaults to Note.Relations
A relation is a directional connection between two entities. Relations form the edges of your knowledge graph.Relation Types
There are two kinds of relations:- Explicit Relations
- Inline Relations
Written as list items with relation type and wiki link:Examples:If you omit the relation type, it defaults to
relates_to:Common Relation Types
Convention patterns (not a fixed set - use any text):- Code/Design:
implements,depends_on,extends,refactors - Organization:
part_of,contains,belongs_to,categorized_as - Temporal:
follows,precedes,supersedes - People:
works_at,authored,collaborated_with,mentored_by - Inspiration:
inspired_by,based_on,contrasts_with,similar_to - Generic:
relates_to,links_to
Forward References
Relations can reference entities that don’t exist yet:to_id is null, to_name is set). When you create “Future Feature” later, the relation automatically resolves.
Graph Traversal
AI assistants traverse your knowledge graph by following relations:- Follow
relates_to→ Read “Coffee Bean Origins” - Follow
requires→ Read “Proper Grinding Technique” - Follow
contrasts_with→ Read “Tea Brewing Methods”
Depth-Limited Traversal
Thebuild_context MCP tool supports depth limits:
Permalinks
Every entity has a permalink - a stable identifier that persists even if the file moves:- Stable references: Links don’t break when files move
- memory:// URLs:
memory://coffee-brewing-methods - Pattern matching:
memory://coffee*finds all coffee-related notes
memory:// URL Patterns
Graph Queries
The knowledge graph supports several query patterns:By Entity Type
By Observation Category
By Relation Type
By Tags
Synthetic Permalinks
Observations and relations generate synthetic permalinks based on their entity:Graph Statistics
Check your knowledge graph health:Visualization
Visualize your knowledge graph:Best Practices
Keep entities focused
Keep entities focused
Each file should represent one concept. Break large topics into multiple linked files rather than creating massive documents.
Use consistent relation types
Use consistent relation types
Establish conventions for relation types in your domain. For example: always use
works_at for employment, not employed_by or works_for.Add context to relations
Add context to relations
Use the
(context) field to clarify relationships:Leverage forward references
Leverage forward references
Don’t hesitate to link to concepts you haven’t documented yet. This helps surface gaps in your knowledge graph.
Use observation tags
Use observation tags
Next Steps
Markdown Format
Complete syntax reference for notes
MCP Integration
How AI assistants interact with the graph