obsidian-mcp MCP Server

A local Model Context Protocol server that lets MCP-compatible assistants safely read and modify explicitly configured Obsidian vaults.

Local serverstdioMIT

What is the obsidian-mcp Server?

obsidian-mcp is an MCP project maintained in the stevenstavrakis/obsidian-mcp repository. The maintainer describes its purpose as “A local Model Context Protocol server that lets MCP-compatible assistants safely read and modify explicitly configured Obsidian vaults”. Read the project documentation for the complete scope.

Installation

The documented npm package is obsidian-mcp. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
obsidian_list_vaultsList configured vault ids without exposing host paths.
obsidian_read_noteRead a bounded page of a note and return its SHA-256 etag.
obsidian_create_noteAtomically create a note without overwriting.
obsidian_edit_noteAppend, prepend, or replace exact note content.
obsidian_delete_noteMove a note to MCP trash or permanently delete it with explicit confirmation.
obsidian_move_noteMove or rename a note and update unambiguous backlinks transactionally.
obsidian_create_directoryTransactionally create a directory inside a vault.
obsidian_search_vaultSearch content, filenames, or tags with bounded cursor pagination.
obsidian_add_tagsAdd tags to one or more notes atomically.
obsidian_remove_tagsRemove exact, nested, or wildcard-selected tags atomically.
obsidian_rename_tagRename a tag across the vault atomically.
obsidian_manage_tagsUnified add/remove tag workflow using the same implementation.

How to install the obsidian-mcp Server

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-mcp@2",
        "serve",
        "--vault",
        "notes=/absolute/path/to/vault"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.