Obsidian MCP Server logo

Obsidian MCP Server

Read, search, edit, and manage Obsidian vault notes, tags, and frontmatter through MCP.

Install Obsidian MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "obsidian-mcp-server": {
      "command": "bunx",
      "args": [
        "obsidian-mcp-server@latest"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "YOUR_VALUE_HERE",
        "OBSIDIAN_ENABLE_COMMANDS": "YOUR_VALUE_HERE",
        "OBSIDIAN_READ_PATHS": "YOUR_VALUE_HERE",
        "OBSIDIAN_DELETE_ELICITATION": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

bunx obsidian-mcp-server@latest

Process exited before answering initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked Today.

Overview

The obsidian-mcp-server MCP server connects AI clients to Obsidian vaults through the Local REST API plugin. It supports reading, searching, creating, appending, patching, replacing, and deleting notes, along with tag and frontmatter management. It runs over STDIO or local Streamable HTTP and includes optional command-palette access. Reach for it when an agent needs structured access to notes while preserving section-level editing and configured path permissions.

Use cases

  • Read structured note content and metadata
  • Search a vault by text or metadata conditions
  • Update headings, blocks, and frontmatter fields in place
  • Organize note tags from an AI client
  • Open notes or run opted-in Obsidian commands

Key features

  • Multi-format note reading
  • Text, JSONLogic, and Omnisearch queries
  • Section-level and regex-based editing
  • Frontmatter and tag management
  • Path-scoped vault access
  • STDIO and Streamable HTTP modes

Tools14

What Obsidian MCP Server lets your agent do. Expand a tool for its parameters.

Self-reported~330 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/7 checks healthy over the last 40d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 15d ago via OSV.dev · obsidian-mcp-server@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars700Stargazers on the source repository.
npm downloads24kPackage downloads in the last 30 days.
Last commit16d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed14Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Obsidian MCP Server works

What obsidian-mcp-server does

The obsidian-mcp-server MCP server gives an MCP-compatible client access to an Obsidian vault through the Local REST API plugin. It covers both retrieval and controlled mutation: agents can read notes in several formats, browse files and folders, search note content, update sections, manage YAML frontmatter, and add or remove tags.

Reading supports raw content, a structured result containing content and metadata, a document map, or a selected section. Notes can be addressed by vault path, the active file, or a periodic note. Search supports text matching and JSONLogic queries; BM25-ranked Omnisearch results are available when the relevant Obsidian plugin is reachable.

Write operations distinguish between whole-file changes and targeted edits. Creating a note is supported, while replacing an existing file requires an explicit overwrite option. Other tools can append, prepend, or replace content at a heading, block reference, or frontmatter field. Deletion is permanent and requires a confirmation exchange.

How it works

The server communicates with Obsidian through the Local REST API plugin and exposes the vault through MCP tools and resources. It can run as a STDIO process or as a local Streamable HTTP server. Resources include note data at obsidian://vault/{+path}, tag data at obsidian://tags, and server/plugin status at obsidian://status.

Path-based read and write permissions can restrict which vault locations are available. Listing and tag results reflect those restrictions when configured. File traversal has a default depth of two levels, a maximum depth of 20, and a 1,000-entry cap. Search results use cursors for pagination, while tag listings are ranked by usage and capped unless a larger limit is requested.

The obsidian-mcp-server MCP server also handles safety-related editing details. Repeated content at a patch target can be rejected, frontmatter replacements are checked after YAML parsing, and whole-file writes do not replace an existing note unless explicitly authorized. Command-palette listing and execution are disabled unless command access is opted into.

Setup and configuration

Install and run the package as an MCP server, then provide an Obsidian API key through OBSIDIAN_API_KEY. Obsidian must have the Local REST API plugin available for the connection to work. The repository provides configuration paths for Claude Desktop, Cursor, and VS Code, and supports a Docker package as well as the published npm package.

Set OBSIDIAN_ENABLE_COMMANDS=true to expose command-palette listing and execution. OBSIDIAN_READ_PATHS can limit readable vault paths. The material also identifies OBSIDIAN_DELETE_ELICITATION as the setting associated with delete confirmation behavior. Exact values and client configuration should follow the repository's current setup instructions.

Tools and capabilities

  • Read notes as content, structured data, document maps, or sections.
  • List notes and directories with depth, extension, and regular-expression filters.
  • Search with text queries, JSONLogic, or available Omnisearch ranking.
  • Create notes and perform targeted append, prepend, replace, and search-replace edits.
  • Get, set, or delete individual frontmatter keys.
  • Add, remove, or list tags in frontmatter, inline content, or both.
  • Open files in the Obsidian interface and optionally use command-palette commands.

Limitations and notes

Omnisearch mode is conditional on the plugin responding when the server starts and has an upstream 50-hit cap. Recursive listings and tag results can be truncated by their configured limits. Section operations depend on resolving a heading, block, or frontmatter target, and some section-creation behavior applies only to existing notes or specific options. Command tools require explicit opt-in, and deleting a note is permanent after confirmation.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Obsidian MCP Server

obsidian-mcp-server is an MCP server that connects AI clients to Obsidian vaults through the Local REST API plugin. Its main tools read, search, create, append, patch, replace, and delete notes, manage frontmatter and tags, list files and commands, open files in Obsidian, and optionally execute commands.

Install it as an MCP package and configure the client with the required Obsidian API key. The repository provides install configurations for Claude Desktop, Cursor, and VS Code, and the server can run through STDIO or local Streamable HTTP.

Yes, Cursor is named as a supported installation target. Configure the MCP server in Cursor with the command and `OBSIDIAN_API_KEY` shown by the repository's installation setup.

Set `OBSIDIAN_ENABLE_COMMANDS=true` before starting the server. This enables `obsidian_list_commands` and `obsidian_execute_command`; without that setting, those command-palette capabilities are opt-in and unavailable.

Yes, it can target a heading, block reference, or frontmatter field. Append, prepend, replace, and search-replace operations support scoped edits, while whole-file replacement of an existing note requires an explicit overwrite option.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewObsidian MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/obsidian-mcp-server?style=directory)](https://allmcps.com/mcp/obsidian-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/obsidian-mcp-server"><img src="https://allmcps.com/api/badge/obsidian-mcp-server?style=directory" alt="Obsidian MCP Server on AllMCPs" /></a>