<!--
- @Author: indiegeeker indiegeeker@gmail.com
- @Date: 2025-10-23 12:00:43
- @LastEditors: indiegeeker indiegeeker@gmail.com
- @LastEditTime: 2025-10-23 17:02:13
- @Description:
-->
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: ``json { "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












