Skip to main content
Glama
obsidian-mcp-server

obsidian-mcp-server

by indie-geeker

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

Related MCP server: Obsidian MCP Server

🚀 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 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

Available Tools

8 tools
create_noteC

Create a new note in the Obsidian vault

Inputs: content (required), filename (required), path.

delete_noteC

Delete a note from the vault

Inputs: filepath (required).

get_note_metadataC

Get detailed metadata for a specific note including size, timestamps, frontmatter tags and properties

Inputs: filepath (required), includeTags.

list_notesC

List all notes in the vault or a specific folder

Inputs: path, recursive.

list_notes_sortedC

List notes sorted by creation time, modification time, or size

Inputs: path, limit, order, sortBy, +2 more.

read_noteB

Read the content of an existing note

Inputs: filepath (required).

search_notesB

Search notes by content or filename

Inputs: query (required), path.

update_noteC

Update an existing note's content

Inputs: content (required), filepath (required), append.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 8 tools

    Disambiguation4/5

    Most tools have distinct purposes, but list_notes and list_notes_sorted overlap significantly; the sorted version could be a parameter of list_notes. Additionally, get_note_metadata vs read_note might be confused for retrieving note details, though descriptions clarify the distinction.

    Naming Consistency3/5

    Most tools follow a verb_noun pattern (update_note, delete_note, search_notes, list_notes, get_note_metadata, create_note, read_note), but list_notes_sorted deviates by adding a modifier, breaking consistency.

    Tool Count4/5

    Eight tools is reasonable for a note management server, covering core operations. However, list_notes_sorted is arguably redundant, making the set slightly over-specified.

    Completeness5/5

    The tools provide full CRUD coverage (create, read, update, delete) plus search, listing, sorting, and metadata retrieval, covering the essential operations for managing notes in an Obsidian vault without obvious gaps.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables AI assistants to read, write, search, and navigate Obsidian vault notes with support for CRUD operations, full-text search, graph navigation, daily notes, and frontmatter management.
      3,487 npm
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to interact with Obsidian vaults through vector search, vault indexing, and file monitoring. It provides a standardized interface for searching and managing markdown-based personal knowledge management data within the Model Context Protocol.
      3,971 npm
      1
      MIT