Skip to main content
Glama

mcp-obsidian

An MCP server that exposes your Obsidian vault to AI assistants via the Model Context Protocol.

Requirements

  • Python 3.12+

  • uv

Installation

git clone https://github.com/johnkang/mcp-obsidian
cd mcp-obsidian
uv sync

Usage

Set the OBSIDIAN_VAULT_PATH environment variable to the absolute path of your vault, then run the server:

OBSIDIAN_VAULT_PATH=/path/to/your/vault uv run mcp-obsidian

Claude Desktop Integration

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "obsidian": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-obsidian", "mcp-obsidian"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/path/to/your/vault"
      }
    }
  }
}

The config file is located at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Tools

File Operations

Tool

Description

list_files(path="")

List files and folders in the vault or a subdirectory

read_note(path)

Read the contents of a note

write_note(path, content)

Create or overwrite a note (parent dirs created automatically)

append_to_note(path, content)

Append content to the end of an existing note

delete_note(path)

Delete a note or folder

move_note(src, dest)

Move or rename a note within the vault

Tool

Description

search_notes(query)

Case-insensitive full-text search across all .md files

search_by_tag(tag)

Find all notes containing a specific tag

Frontmatter

Tool

Description

get_frontmatter(path)

Read the YAML frontmatter of a note

update_frontmatter(path, key, value)

Set or update a frontmatter field (creates it if absent)

Tool

Description

get_backlinks(path)

Find all notes that link to a given note via [[wikilinks]]

get_outlinks(path)

Extract all [[wikilinks]] from a note

get_orphans()

Find notes with no incoming or outgoing links

Daily Notes

Tool

Description

get_daily_note(date_str="")

Read the daily note for a date (defaults to today, format: YYYY-MM-DD)

create_daily_note(date_str="")

Create a daily note, using a daily template from Templates/ if available

Utility

Tool

Description

list_tags()

List all tags in the vault with usage counts

get_recent_notes(n=10)

List the N most recently modified notes

get_note_stats()

Return vault statistics (note count, word count, tags, links)

list_templates()

List all templates in the vault's Templates/ folder

Security

All file paths are validated to prevent path traversal attacks — no operation can escape the configured vault directory.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jkang8/mcp-obsidian'

If you have feedback or need assistance with the MCP directory API, please join our Discord server