indie-geeker/obsidian-mcp-server
If you are the rightful owner of obsidian-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The obsidian-mcp-server is a Model Context Protocol server designed to integrate Obsidian with AI, enhancing note management and search capabilities.
obsidian-mcp-server
🔗 Model Context Protocol server for Obsidian - Connect your knowledge base to AI
✨ Features
- 📝 Note Management: Create, read, update, and delete notes
- 🔍 Search: Full-text search across your vault
- 📋 Listing: List notes with filtering options
- 📊 Metadata: Get file size, timestamps, tags, and properties
- ⏰ Sorting: Sort notes by creation/modification time or size
- 🏷️ Tag Extraction: Automatically extract tags from frontmatter and content
- 🔒 Safe: Path validation to prevent directory traversal
- ⚡ Fast: Efficient file operations
🚀 Quick Start
Installation
npm install -g @indiegeeker/obsidian-mcp-server
# or
pnpm install -g @indiegeeker/obsidian-mcp-server
Configuration
Add to your Claude Desktop config:
{
"mcpServers": {
"obsidian": {
"command": "obsidian-mcp-server",
"env": {
"OBSIDIAN_VAULT_PATH": "/path/to/your/vault"
}
}
}
}
📖 Available Tools
create_note
Create a new note in your vault.
Parameters:
filename(required): Name of the notecontent(required): Markdown contentpath(optional): Folder path within vault
read_note
Read an existing note's content and frontmatter.
Parameters:
filepath(required): Path to the note
search_notes
Search notes by content.
Parameters:
query(required): Search stringpath(optional): Limit search to folder
list_notes
List all notes in vault or folder.
Parameters:
path(optional): Folder to listrecursive(optional): Include subfolders
update_note
Update an existing note's content.
Parameters:
filepath(required): Path to the notecontent(required): New contentappend(optional): Append instead of replacing
delete_note
Delete a note from the vault.
Parameters:
filepath(required): Path to the note to delete
get_note_metadata
Get detailed metadata for a note.
Parameters:
filepath(required): Path to the noteincludeTags(optional): Extract tags from frontmatter and content (default: true)
Returns:
- File size (bytes and formatted)
- Creation time
- Modification time
- Frontmatter properties
- Extracted tags (from frontmatter and #hashtags)
list_notes_sorted
List notes sorted by various criteria.
Parameters:
path(optional): Folder to list (default: root)recursive(optional): Include subfolders (default: true)sortBy(optional): Sort criterion -"created","modified","size", or"name"(default:"modified")order(optional): Sort order -"asc"or"desc"(default:"desc")includeMetadata(optional): Include size and timestamps (default: true)limit(optional): Maximum number of notes to return
🛠️ Development
# Clone the repo
git clone https://github.com/indiegeeker/obsidian-mcp-server.git
# Install dependencies
pnpm install
# Build
pnpm run build
# Watch mode
pnpm run dev
📄 License
MIT