obsidian-mcp-server logo

obsidian-mcp-server

indie-geeker/obsidian-mcp-server
0 starsMITUpdated 2025-10-23Community
Deploy on Hostinger, 20% off →Your friend gets 20% off too, using this linkFree API →SearchsearchView on GitHubGitHub repositoryReport an issue

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables AI to manage Obsidian notes, including creation, reading, updating, deletion, full-text search, listing with filtering, sorting, and metadata extraction via the Model Context Protocol.

README.md

<!--

  • @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 note
  • content (required): Markdown content
  • path (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 string
  • path (optional): Limit search to folder

list_notes

List all notes in vault or folder.

Parameters:

  • path (optional): Folder to list
  • recursive (optional): Include subfolders

update_note

Update an existing note's content.

Parameters:

  • filepath (required): Path to the note
  • content (required): New content
  • append (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 note
  • includeTags (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

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Search servers.