📊
Memo
CLI notes tool with markdown, tags, SQLite storage, and MCP server for AI integration
0 installs
1 stars
Trust: 48 — Fair
Data
Installation
npx memoAsk AI about Memo
Powered by Claude · Grounded in docs
I know everything about Memo. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
memo
A command-line notes tool that stores markdown notes with tags and attachments. Supports SQLite and markdown file backends.
Features
- Markdown-first: Notes are stored as markdown with full formatting support
- Tags: Organize notes with multiple tags
- Attachments: Attach files to notes (stored as blobs in SQLite)
- Full-text search: FTS5-powered search across titles and content
- Beautiful output: Rendered markdown in the terminal
- MCP Server: Built-in Model Context Protocol server for AI assistant integration
- Portable: Single SQLite database file, XDG-compliant storage
Installation
Homebrew (macOS)
brew install harperreed/tap/memo
From source
go install github.com/harperreed/memo/cmd/memo@latest
Download binary
Download from GitHub Releases.
Usage
Add a note
# Open $EDITOR to write content
memo add "Meeting Notes"
# Inline content
memo add "Quick thought" --content "Remember to call mom"
# From file
memo add "Article Draft" --file draft.md
# With tags
memo add "Project Ideas" --content "..." --tags "work,brainstorm"
List notes
# List recent notes
memo list
# Filter by tag
memo list --tag work
# Search
memo list --search "meeting"
# Limit results
memo list --limit 5
View a note
# Use ID prefix (6+ characters)
memo show abc123
Edit a note
memo edit abc123
Delete a note
memo rm abc123
# Skip confirmation
memo rm abc123 --force
Manage tags
# Add tag to note
memo tag add abc123 important
# Remove tag
memo tag rm abc123 important
# List all tags
memo tag list
Directory-aware notes
# Tag a note with the current directory
memo add "Project TODO" --content "..." --here
# List notes tagged with the current directory
memo list --here
Attachments
# Attach a file
memo attach abc123 document.pdf
# Extract attachment
memo attach get def456 --output ./downloads/
Export/Import
# Export all notes to JSON
memo export --format json --output backup.json
# Export to markdown directory
memo export --format md --output ./notes/
# Import from JSON
memo import backup.json
# Import markdown files
memo import ./notes/
MCP Server
Start the MCP server for AI assistant integration:
memo mcp
Add to your Claude desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"memo": {
"command": "memo",
"args": ["mcp"]
}
}
}
Available MCP Tools
| Tool | Description |
|---|---|
add_note | Create a new note |
list_notes | List notes with optional filtering |
get_note | Get a note by ID |
update_note | Update note title or content |
delete_note | Delete a note |
search_notes | Full-text search |
add_tag | Add tag to note |
remove_tag | Remove tag from note |
add_attachment | Add attachment (base64) |
list_attachments | List note attachments |
get_attachment | Get attachment content |
export_note | Export note as JSON or markdown |
Storage
memo supports two storage backends:
- Markdown (default for new users): Notes stored as markdown files in
~/.local/share/memo/ - SQLite: Notes stored in
~/.local/share/memo/memo.db
Configure the backend in ~/.config/memo/config.json:
{
"backend": "markdown",
"data_dir": "~/.local/share/memo"
}
Use memo migrate --to markdown or memo migrate --to sqlite to switch backends.
Building
# Build
make build
# Run tests
make test
# Run tests with race detector
make test-race
# Run linter
make lint
# Run all checks
make check
License
MIT
