PlugWiki
obsidian-mcp-server logo

Obsidian MCP Server (Cyanheads): Setup for Claude, Cursor and Other Apps

CommunityLocal
Getnpmobsidian-mcp-servercyanheads/obsidian-mcp-server

Lets Claude, Cursor and other assistants read, search, edit and tag the notes in your Obsidian vault.

This community server talks to Obsidian through the Local REST API plugin, so Obsidian must be running with that plugin on. It runs on your computer, and you give it the plugin's API key. The assistant can then read notes, edit a single heading or property, and manage tags.

It can also delete notes, and by default it does so without asking. Set the folder limits or the read-only switch described below before you let an assistant loose on a vault you care about.

Good for

  • Obsidian users who want an assistant to search and summarize their vault
  • Writers who want precise edits to one heading or property
  • Developers who keep project notes in Obsidian and work in Cursor or Claude Code

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install obsidian-mcp-server

Claude Code

  1. 1

    Copy this prompt.

    Add the obsidian-mcp-server server to Claude Code. Run this command:
    
    claude mcp add obsidian -e OBSIDIAN_API_KEY=<OBSIDIAN_API_KEY> -- npx -y obsidian-mcp-server
    
    Ask me for OBSIDIAN_API_KEY and only put the values in that config, nowhere else.
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Obsidian + Local REST API plugin, Node.js.

Read-only mode: Add OBSIDIAN_READ_ONLY=true to the server's environment. It denies every write, including delete.

Install the Local REST API plugin in Obsidian first (Settings, Community plugins) and copy its API key into OBSIDIAN_API_KEY. The default address needs the plugin's non-encrypted HTTP server switched on; otherwise set OBSIDIAN_BASE_URL to the HTTPS port and OBSIDIAN_VERIFY_SSL to false. Obsidian must be running. These configs are adapted from the package name and are generated, not copied from the README. The README also offers a Claude Desktop .mcpb bundle.

Built from the package data we hold. Not yet tested by us.

Tools

  • Reads a note, its outline or one section

    Opens a note by path, the note you have open, or a daily to yearly note. It returns the text, the full structure, a map of headings, or just one section.

    Try: “Read the 'Project plan' section of my Roadmap note.”

    Network · obsidian_get_note

  • Lists notes and folders under a path

    Walks a folder in your vault to a chosen depth, with filters for file type and name. It stops at 1,000 entries per call.

    Try: “List all notes in my Projects folder.”

    Network · obsidian_list_notes

  • Lists your tags, most used first

    Shows every tag in the vault with how many notes use it, and counts parent tags such as work for work/tasks.

    Try: “Which tags do I use most?”

    Network · obsidian_list_tags

  • Finds notes by text, JSON rules or ranked search

    Searches by text match or by rules on path, content, frontmatter and tags. If the Omnisearch plugin is running, it also offers ranked search.

    Try: “Find notes that mention 'quarterly review' tagged #work.”

    Network · obsidian_search_notes

  • Creates a note or replaces a section or whole file

    Creates a note, or replaces one heading, block or frontmatter field. Replacing a whole existing file needs overwrite set to true.

    Try: “Create a note called 'Meeting 2026-11-02' with these bullets.”

    Write · obsidian_write_note

  • Adds text to the end of a note or section

    Appends to a note, creating it if missing, or to one heading, block or frontmatter field of an existing note.

    Try: “Add this task to the end of my Inbox note.”

    Write · obsidian_append_to_note

  • Appends, prepends or replaces one section

    Changes one heading, block or frontmatter field of an existing note by adding before, adding after or replacing it.

    Try: “Replace the 'Status' section of the Roadmap note.”

    Write · obsidian_patch_note

  • Finds and replaces text inside one note

    Runs one or more literal or regex replacements in a single note, body only by default. If a frontmatter change would break the YAML, nothing is written.

    Try: “Rename 'Acme' to 'Acme Inc.' in this note.”

    Write · obsidian_replace_in_note

  • Gets, sets or deletes one frontmatter key

    Reads, sets or removes a single property in a note's frontmatter and returns the result.

    Try: “Set the status property of this note to done.”

    Write · obsidian_manage_frontmatter

  • Adds, removes or lists a note's tags

    Changes tags in a note's frontmatter, in its body or in both, and reports which were applied or skipped.

    Try: “Add the tag #reviewed to this note.”

    Write · obsidian_manage_tags

  • Permanently deletes a note

    Deletes one note by path. By default it deletes on the first call with no confirmation, and the server has no undo beyond Obsidian's local trash.

    Try: “Delete the note 'Scratch 2024'.”

    Delete · obsidian_delete_note

  • Opens a note in the Obsidian app

    Brings a note up in Obsidian, optionally in a new pane. If you allow it, a missing file is created.

    Try: “Open today's daily note in Obsidian.”

    Write · obsidian_open_in_ui

Read from the source code

Permissions

high risk · 5 things to watch

High risk

The assistant can read, rewrite and permanently delete notes in your vault, and deletes run without a confirmation unless you turn one on. Set the read-only switch or a write folder limit, and keep a backup of the vault.

What it can do

Watch out for

  • It deletes notes without asking by default

    obsidian_delete_note deletes on the first call, with no undo beyond Obsidian's local trash. Set OBSIDIAN_DELETE_ELICITATION=true to require your confirmation, or OBSIDIAN_READ_ONLY=true to turn writes off. github.com

  • It can overwrite and rewrite your notes

    The write, patch, replace, frontmatter and tag tools change note files, and write_note can overwrite a whole file when told to. Limit it to a folder with OBSIDIAN_WRITE_PATHS. github.com

  • Two opt-in tools can run any Obsidian command

    Setting OBSIDIAN_ENABLE_COMMANDS=true adds tools that list and run command-palette commands, some of which delete files or close the vault. They are off by default and hidden in read-only mode. github.com

  • It needs a third-party plugin with a local key

    The Local REST API plugin serves your vault on a local port. Keep its key private and do not expose that port beyond your machine. github.com

  • You can hide private folders

    OBSIDIAN_DENY_PATHS withholds folders from reads and writes, and removes them from listings and search results. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlySet OBSIDIAN_READ_ONLY=true to deny every write, including delete, and to hide the command tools. OBSIDIAN_READ_PATHS, OBSIDIAN_WRITE_PATHS and OBSIDIAN_DENY_PATHS limit folders.
Talks toYour local Obsidian REST API (127.0.0.1 by default)
Sign-in and keysThe Local REST API key is read from the OBSIDIAN_API_KEY environment variable in your app's config.
Scopes
  • Obsidian Local REST API key

Questions

Is it official?

No. It is a community project by cyanheads, not made by Obsidian. It also depends on the separate Local REST API plugin.

What do I need before installing?

Obsidian running, with the Local REST API plugin installed and enabled. Copy its API key into OBSIDIAN_API_KEY and, for the default address, switch on the plugin's non-encrypted HTTP server.

Can it delete my notes?

Yes. The delete tool removes a note on the first call by default. Turn on OBSIDIAN_DELETE_ELICITATION to be asked first, or OBSIDIAN_READ_ONLY to block it.

Can I run it read-only?

Yes. Set OBSIDIAN_READ_ONLY=true and every write is denied, including delete. You can also restrict folders with the read, write and deny path settings.

Does my vault leave my computer?

The server talks to Obsidian on your own machine. The assistant you connect it to still receives whatever notes it reads, so keep private folders in the deny list.

How many tools does it have?

It has 12 tools by default, plus two command tools you must opt into. The README counts all 14.

Which clients does it work in?

It runs locally, so it fits Claude Desktop, Claude Code, Cursor, VS Code and other apps that start local servers. The README also offers a Claude Desktop bundle and Cursor and VS Code install links.

How is it different from other Obsidian servers?

It goes through the Local REST API plugin, so Obsidian must be running, and it can edit a single heading, block or property in place. See the other Obsidian server pages for ones that work differently.

Information

updated Nov 2, 2026

Publisher
Community
Package
obsidian-mcp-server
Registry
npm
Transport
stdio, Streamable HTTP
Auth
API key
Version
3.8.0
License
Apache-2.0
Last commit
Oct 31, 2026
Open issues
11
Listed in
Official MCP registry

GitHubnpmOfficial MCP RegistryChangelogIssues

Other Obsidian MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. obsidian-mcp-server README (v3.8.0) · github.com
  2. Server config source · github.com
  3. npm package obsidian-mcp-server · registry.npmjs.org

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.