▌BestMCPTools.org
Obsidian MCP logo

Obsidian MCP

Read, search and edit an Obsidian vault through the Local REST API plugin

ProductivityOpen SourceClaudeClaude CodeCursorAll ModelsModerate

Last verified: October 8, 2026

Own Obsidian MCP? Boost it to the top.✦ Upgrade to Featured

Maintenance status

Active
Last code update: August 31, 2026License: MITChecked September 28, 2026

How to Install Obsidian MCP

$uvx mcp-obsidian

Requires Claude Desktop, Cursor, Windsurf, or another MCP-compatible client.

Setup by client

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "obsidian-mcp": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "obsidian-mcp": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ]
    }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "obsidian-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ]
    }
  }
}

Claude Code (terminal)

claude mcp add obsidian-mcp -- uvx mcp-obsidian

Add any API keys or environment variables the server's README lists.

About Obsidian MCP

Obsidian MCP here means the open source Python project MarkusPfundstein/mcp-obsidian. It lets an MCP client list, read and search the notes in an Obsidian vault, and also add to, edit and delete them, by talking to the Obsidian Local REST API community plugin. It is not read-only.

Several projects share this name. The npm package also called mcp-obsidian is a different, read-only project. If you run npx -y mcp-obsidian you get that one, not this one. See "A read-only alternative" below.

Quick facts (as of October 8, 2026)

Obsidian MCP (MarkusPfundstein/mcp-obsidian)
LanguagePython 3.11 or newer
Installuvx mcp-obsidian (PyPI package mcp-obsidian, version 0.2.3, uploaded August 20, 2026), or the Docker option in the README
RequiresObsidian running with the Local REST API community plugin enabled, and that plugin's API key
ConfigurationOBSIDIAN_API_KEY (required), OBSIDIAN_HOST (default 127.0.0.1), OBSIDIAN_PORT (default 27124)
Tools7: list, read, search, append, patch and delete
AccessRead, search and write/delete
TransportStdio, launched by your MCP client
LicenseMIT (LICENSE file in the repository, read October 8, 2026)

The seven tools

ToolWhat it does (from the README)
list_files_in_vaultLists all files and directories in the root of the vault
list_files_in_dirLists files and directories in a specific folder
get_file_contentsReturns the content of a single file
searchSearches for documents matching a text query across all files in the vault
append_contentAppends content to a new or existing file
patch_contentInserts content into an existing note relative to a heading, block reference or frontmatter field
delete_fileDeletes a file or directory from the vault

There is no dedicated tool for backlinks, tags or a link graph. patch_content can target a heading, block reference or frontmatter field, but it is an insert tool, not a metadata query.

Setup

  1. In Obsidian, install and enable the Local REST API community plugin and copy its API key.
  2. Add the server to your client's config. For Claude Desktop, edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%/Claude/):
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": ["mcp-obsidian"],
      "env": {
        "OBSIDIAN_API_KEY": "<your_api_key_here>",
        "OBSIDIAN_HOST": "<your_obsidian_host>",
        "OBSIDIAN_PORT": "<your_obsidian_port>"
      }
    }
  }
}
  1. If your client cannot find uvx, run which uvx and use the full path.
  2. Tell the assistant to use Obsidian at the start of a chat. The README notes it then calls the tools reliably.

The README also documents a Docker route (docker compose run --rm -T mcp-obsidian), where OBSIDIAN_HOST defaults to host.docker.internal.

Limitations and things to watch

  • It can change and delete your notes. Append, patch and delete are all exposed. The README documents no read-only mode. Keep your client's tool-approval prompts on, and back up the vault (version control, Obsidian Sync history or a copy) before you connect it.
  • Obsidian must be running with the Local REST API plugin enabled. The server talks to the plugin, not to the files directly.
  • Your notes reach your AI provider. Anything the assistant reads becomes part of the conversation sent to the model service you use. Keep sensitive material in a vault the plugin is not serving.
  • Python and SDK pinning. It needs Python 3.11 or newer and pins the mcp package to at least 1.1.0 and below 2.0.0. The README warns that installing it against mcp 2.0 or later crashes at import.
  • Search is a text search through the plugin. We did not test how it handles very large vaults.

A read-only alternative

The npm package mcp-obsidian (published by calclavia, version 1.0.0, November 29, 2024) is a separate project. From its published code it exposes two tools, read_notes and search_notes, and only reads files. Its search matches note file names, not note contents. You start it with the path to your vault, for example npx -y mcp-obsidian /path/to/vault. It has had one release, and its npm entry lists no source repository, so we could not check where the code is maintained. If you only want reads, it is worth a look, or use a Filesystem MCP server limited to the vault folder (check whether the one you pick can be made read-only).

Pros and cons

Pros

  • Reads, searches and writes through the plugin, so an assistant can summarize meeting notes and file the summary as a new note.
  • Seven focused tools, easy to reason about.
  • Docker option for people who do not want Python installed.
  • Recent release: PyPI shows version 0.2.3, uploaded August 20, 2026.

Cons

  • Not read-only, and the README documents no way to make it so.
  • Setup has two moving parts: the Obsidian plugin and the Python tool.
  • No backlink or tag query tools.
  • Requires Obsidian to be open.

Who it is for

A good fit if:

  • You want an assistant that can find, read and add to notes in your Obsidian vault.
  • You are comfortable backing up your vault and approving writes.

Not the right tool if:

  • You want strictly read-only access (see the alternative above).
  • You keep notes in Notion. See the Notion MCP server.
  • You cannot run the Local REST API plugin.

What we could not verify

  • How the search tool ranks or limits results. The README gives a one-line description only.
  • The source repository of the npm package mcp-obsidian. Its npm entry has no repository field and the GitHub paths we tried were not found.
  • The star count. The star figure comes from the listing's stored repository data, not from a fresh check.
  • Behavior with every Obsidian and plugin version. We did not run it.

How this page was put together

We read the MarkusPfundstein/mcp-obsidian README, its PyPI entry (version, Python requirement, upload date) and the published npm package mcp-obsidian including its source, on September 30, 2026, and rechecked the README, PyPI entry, npm entry and LICENSE file on October 8, 2026. We did not run either project against a vault.

Sources

Pricing

Open Source: from Free (open source; Obsidian and the Local REST API plugin required)

Our Take on Obsidian MCP

Useful if you want an assistant to find, read and add to notes in Obsidian, but treat it as a write-enabled tool: it can append, patch and delete, and the README documents no read-only mode. Back up the vault and keep approval prompts on. Several projects share this name, so check the package you install; the npm package of the same name is a separate read-only project.

Alternatives to Obsidian MCP

Filesystem MCPFile System

Let AI read and write files on your local system

View Filesystem MCP →
Notion MCPProductivity

Connect AI to your Notion workspace

View Notion MCP →

Frequently Asked Questions

Tags