Obsidian MCP Server

obsidian-mcp-server

An MCP server for an Obsidian vault: read, search and precisely edit notes, sections, frontmatter and tags

MCP serverMedium risk

cyanheads/obsidian-mcp-server

Install

{
  "mcpServers": {
    "obsidian-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "obsidian-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info",
        "OBSIDIAN_API_KEY": "your-local-rest-api-key"
      }
    }
  }
}

Instead of npx you can use bunx obsidian-mcp-server@latest or the ghcr.io/cyanheads/obsidian-mcp-server:latest image.

This is third-party code. Review the repository files before installing.

What it does

The server connects to Obsidian through the Local REST API plugin and gives an agent tools for the vault. It reads a note whole, by section or as a structure map, lists folders and searches by text, JSONLogic expressions or Omnisearch. Edits can be precise: append to a section, replace a block under a heading, change one frontmatter field, search and replace inside a note or manage tags. Deletion always asks the user to confirm, and read and write access can be limited to specific folders.

Who it is for. For people who keep a knowledge base in Obsidian and want an agent to read and carefully update notes.

Good fit when

  • You need to find and gather information from vault notes
  • You need to append to a daily note or section without touching the rest
  • You need to adjust tags or frontmatter fields in bulk

Not a fit when

  • Obsidian is not running or the Local REST API plugin cannot be installed
  • The vault exists only in the cloud without the desktop app

Example request

Find Obsidian notes tagged project and append the open tasks to today's daily note

Limitations

Requires a running Obsidian with the Local REST API plugin 4.x or 5.x; 6.0 is incompatible. Needs Bun 1.4+ or Node.js 24+. Periodic notes on plugin 5.0.2+ need a separate extension. Deletion works only in clients that support confirmation requests. Obsidian command execution is off by default.

How to disable. Remove the obsidian-mcp-server block from the MCP client config and optionally disable the Local REST API plugin in Obsidian.

MCP

Transport
stdio, http
Authentication
API key
Environment variables
Environment variables
OBSIDIAN_API_KEY
required, secret
API key from the Obsidian Local REST API plugin
OBSIDIAN_BASE_URL
Plugin URL, defaults to http://127.0.0.1:27123
MCP_TRANSPORT_TYPE
Transport: stdio or http
OBSIDIAN_ENABLE_COMMANDS
Enables the Obsidian command tools

Security check

  • Reads and modifies notes in the local vault
  • Uses an Obsidian access key

README in short

The README lists the server's tools and resources and describes each tool's behavior in detail. It gives configs for bunx, npx and Docker, a Streamable HTTP mode and version requirements for the Local REST API plugin. A settings table covers the plugin URL, key and access limits. Apache 2.0 licensed.

FAQ

Where do I get the key?

In Obsidian: Settings, Community Plugins, Local REST API, which generates the key for OBSIDIAN_API_KEY.

Can access be restricted?

Yes, read and write access can be scoped to folders via environment variables, and command execution is opt-in.

Editors’ pick

A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more

CLIHigh risk31K
Editors’ pick

Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server

CLIMedium risk29.7K
Editors’ pick

A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI

MCP serverMedium risk28.1K
Editors’ pick

Anthropic's official plugins for knowledge work roles: sales, support, product, marketing, legal, finance, data and enterprise search

PluginHigh risk24K