Features & Workflows
A deeper look at the tools m-notes provides for managing context and workflows.
Note editor
The editor is built on CodeMirror 6 with full markdown syntax highlighting and optional vim keybindings. Three view modes are available:
- Editor — full-screen markdown editing with syntax highlighting
- Preview — rendered markdown output with proper formatting
- Split — side-by-side editor and preview for real-time feedback
Autosave is enabled by default — your changes are persisted automatically after a short debounce. You can also save manually with Cmd+S.
Full-text and semantic search
m-notes supports three search modes, accessible from the search bar or command palette (Cmd+K):
- Full-text — keyword matching using PostgreSQL full-text search. Fast and precise for exact terms
- Semantic — meaning-based search using AI embeddings. Finds related content even when exact words differ
- Hybrid — combines both modes with relevance scoring for the best overall results. This is the default
Wikilinks and backlinks
Link notes together with [[Note Title]] syntax. Wikilinks are resolved by title (case-insensitive) and rendered as clickable links in preview mode.
- Clicking a wikilink navigates to the linked note, or creates it if it does not exist
- The backlinks panel (below the editor) shows all notes that link to the current note
- Use
get_note_linksvia MCP to programmatically traverse links
Graph view
The graph view visualizes your notes as an interactive network. Nodes represent notes and edges represent wikilink connections between them.
- Access the graph from the sidebar or via the graph icon in the toolbar
- Click a node to navigate to that note. Hover to see the title and connection count
- Zoom and pan to explore clusters of related notes
Knowledge graph
Beyond the wikilink-based graph view, m-notes maintains a structured knowledge graph with typed entities and relationships. This allows AI agents and advanced queries to traverse your knowledge base by meaning, not just by links.
- Nodes represent entities (people, projects, concepts, technologies) extracted from your notes or created manually
- Edges are typed relationships between nodes (e.g., “uses”, “depends on”, “authored by”)
- Use
query_graphvia MCP to search the knowledge graph by node type, label, or relationship graph_traversewalks the graph from a starting node, andfind_pathdiscovers connections between two nodespopulate_graphbuilds graph nodes and edges from an existing note
Entity extraction
m-notes can automatically extract structured entities (people, organizations, technologies, concepts) from your note content using AI.
- Use
extract_entitiesvia MCP to analyze a note and discover entities - Extracted entities are added to the knowledge graph as nodes with typed relationships
- Useful for building a structured knowledge base from unstructured notes
Importance scoring
Assign importance scores to notes to help prioritize information and surface the most critical knowledge first.
- Use
set_importancevia MCP to set a note's importance level - Importance scores influence search ranking and knowledge retrieval
- Combine with the knowledge decay feature to automatically reduce relevance of aging content
Tags system
Tags live in YAML frontmatter and provide cross-folder categorization:
- Add tags in the frontmatter
tagsarray or via the tag editor in the note panel - Tags are synced between frontmatter and the database automatically
- Filter notes by tag in the sidebar, or search with tag filters in the search bar
- Via MCP, use
manage_tagsto add/remove andsearch_by_tagsto query
Version history
m-notes automatically creates snapshots of your notes so you can review and restore previous versions.
- Open the version history panel from the note toolbar to see all saved snapshots
- Preview any snapshot to see the content at that point in time
- Restore a snapshot to revert the note to a previous state
Starred and pinned notes
Keep important notes within easy reach:
- Star a note to add it to your starred section in the sidebar for quick access
- Pin a note to keep it at the top of the note list in its folder
- Toggle both from the note context menu (right-click) or the note toolbar
Command palette
Press Cmd+K (Ctrl+K on Windows/Linux) to open the command palette. From there you can:
- Search for notes by title
- Run quick actions (create note, toggle theme, open settings)
- Navigate to any page in the app
See Keyboard Shortcuts for the full list of available shortcuts.
Smart folders
Smart folders are dynamic, rule-based folders that automatically collect notes matching specific criteria. Unlike regular folders, smart folders update in real time as your notes change.
- Define filter rules based on tags, note type, content keywords, or date ranges
- Smart folders appear in the sidebar alongside regular folders
- Via MCP, use
create_smart_folderto define rules andlist_smart_foldersto see all smart folders
Object types
Object types let you define custom schemas for your notes with typed properties. This turns notes into structured data objects while keeping the flexibility of markdown content.
- Define object types with custom property fields (text, number, date, select, etc.)
- Assign a type to any note to add structured metadata alongside its content
- Via MCP, use
list_object_typesto see available types,set_note_typeto assign a type to a note, andquery_by_typeto find notes of a specific type
Real-time updates
m-notes uses Server-Sent Events (SSE) to push changes to your browser in real time. When a note is created, updated, or deleted — whether by you, another device, or an AI agent via MCP — the UI updates immediately without requiring a manual refresh.
- The sidebar note list, folder counts, and search results update live
- If an AI agent creates or modifies notes via MCP, you see the changes instantly
- No polling — updates are pushed as they happen via a persistent SSE connection
Chat with AI
Ask questions about your notes directly within m-notes using the built-in AI chat panel. The chat uses your knowledge base as context to provide grounded, relevant answers.
- Open the chat panel from the toolbar to start a conversation
- The AI searches your notes for relevant context before answering
- Via MCP, agents can use
ask_notesto query the knowledge base programmatically
Note templates
Templates let you define reusable starting points for new notes. Use them for recurring note types like meeting notes, project specs, or daily journals.
- Create and manage templates from Settings > Templates
- When creating a new note, choose a template to pre-fill the content and frontmatter
- Templates support variables and default tags for consistent note structure
Session traces
When AI agents interact with your knowledge base via MCP, m-notes records session traces showing every tool call, its parameters, and results.
- View session traces from the Sessions page to see what your AI agents have been doing
- Each trace shows the sequence of tool calls, timing, and outcomes
- Via MCP, use
list_sessionsandget_session_replayto review traces programmatically
Image upload
Add images to your notes with drag-and-drop or paste:
- Drag an image file into the editor or paste from clipboard
- Images are uploaded automatically and a markdown image link is inserted
- Supported formats include PNG, JPEG, GIF, and WebP
Workspaces
Workspaces let you isolate different projects or contexts. Each workspace has its own set of notes, folders, and tags. Switch between workspaces from the sidebar or settings.
Learn more in the Workspaces guide.