Large Language ModelsGenerate imagesGenerate videos
Best Obsidian MCP Server for Claude: Setup and Options
Claude cannot read your Obsidian notes until an MCP server connects them. Compare mcpvault, the cyanheads server, and mcp-obsidian, follow exact setup steps for Claude Desktop and Claude Code, and fix the errors that break most first attempts.
Claude is sharp, but it has never seen your notes. Ask about last quarter's meeting notes or the half-written essay buried in your vault, and it can only guess. An Obsidian MCP server closes that gap. It opens a controlled doorway into your markdown files, so Claude can search, read, and write notes while you stay in charge of what it touches.
The catch is choice. More than a dozen servers exist, and package names, plugins, and ports shifted a lot during 2026. This article sorts out which server deserves your time, walks through the exact setup for Claude Desktop and Claude Code, and flags the mistakes that waste an afternoon. The short answer: pick mcpvault for a fast start with no plugin, and move to a REST based server such as obsidian-mcp-server by cyanheads when you want Obsidian itself in the loop.
💡 Quick verdict: No plugin and no running app needed? Use a filesystem server. Want the active note, commands, and periodic notes? Use a Local REST API server.
What an Obsidian MCP Server Does
MCP stands for Model Context Protocol, the open standard Anthropic introduced so AI apps can reach outside tools through small programs called servers. An Obsidian MCP server is one of those programs. It sits between Claude and your vault, a plain folder of markdown files, and exposes a short list of tools: list files, read a note, search, append text, edit a section, and in some servers move or delete notes.
How Claude Reads Your Vault
When you ask a question, Claude decides whether a tool call would help. Type "find my notes about the pricing experiment" and it calls the search tool, receives file paths and snippets, then calls the read tool on the best matches. The server runs on your own machine, and Claude Desktop asks for your approval before it uses a tool.
One thing to keep in mind: any note Claude reads becomes part of the conversation, which means that text is sent to Anthropic for processing. Keep truly private material out of the folder you expose.
Filesystem vs Local REST API
Every Obsidian server falls into one of two designs, and the choice shapes everything else:
Filesystem servers read and write the .md files directly. They need only a vault path, run while Obsidian is closed, and install in one line. They cannot see Obsidian's live state, such as which note is open.
Local REST API servers talk to Obsidian through the community plugin called Local REST API. They can reach the active note, run Obsidian commands, and use periodic notes, but Obsidian must be running and you must supply a token from the plugin.
The Best Servers Compared
Directory listings change weekly, so I skip star counts and compare what actually affects your setup. Check each README before copying a command, because several projects renamed packages or shipped breaking releases this year.
Side by Side
Server
Connects through
Obsidian must be open
Best for
mcpvault (@bitbonsai/mcpvault)
Vault folder
No
Fast, plugin free setup
obsidian-mcp-server (cyanheads)
Local REST API plugin
Yes
Heavy daily use, rich tools
mcp-obsidian (MarkusPfundstein)
Local REST API plugin
Yes
Python users, uvx install
obsidian-mcp (StevenStavrakis)
Vault folder
No
Tag management
Obsidian MCP Tools
Plugin plus Local REST API
Yes
Semantic search, Templater
Built-in endpoint of newer Local REST API releases
The plugin itself
Yes
No middle program at all
💡 Name trap: the npm package once called mcp-obsidian was renamed @bitbonsai/mcpvault earlier in 2026. Older tutorials that use the old name may point you at the wrong package, so copy names from the current README.
mcpvault for Easy Setup
mcpvault is the shortest path from zero to a working vault connection. You pass one argument, the vault path, and it reads the files directly. Skip the path and it uses the current working directory, which is handy when you launch Claude Code from inside the vault. Its tools handle reading and writing notes, patch style edits, search, frontmatter, and tags, though the README holds the current list.
Because it never touches Obsidian's own API, the app can stay closed, and it stays quick on a vault with thousands of notes. The tradeoff is that it cannot run Obsidian commands or know which note you are looking at.
cyanheads for Heavy Use
obsidian-mcp-server by cyanheads is written in TypeScript and connects through the Local REST API plugin. It showed the highest weekly npm downloads in the directory listings I checked, and a recent release adapted it to version 4 of the plugin. Its README lists global search, search and replace inside a note, and frontmatter and tag management.
Pick it when Claude is a daily partner rather than an experiment. You pay for that depth with one extra moving part: the plugin, its token, and a running Obsidian window.
REST Servers for Live Features
mcp-obsidian by MarkusPfundstein is the Python option. You launch it with uvx, and it talks to the plugin at 127.0.0.1 on HTTPS port 27124. Its tools include search, appending to a note, and patching content under a specific heading. The project went quiet for a long stretch before its maintainer returned in May 2026, so look at recent commits before you commit to it.
Two more are worth a look. Obsidian MCP Tools installs from inside Obsidian and adds semantic search through Smart Connections plus Templater support. And newer releases of Local REST API itself ship a built-in MCP endpoint, which means you may be able to point Claude straight at the plugin with no Node or Python program in between. Check the plugin's release notes for the exact address.
My pick by situation:
Want it working in five minutes: mcpvault.
Use Obsidian all day and want rich tools: cyanheads.
Already live in Python tooling: mcp-obsidian.
Want the fewest installed programs: the plugin's built-in endpoint, if your version has it.
Setup for Claude Desktop
Before touching any config, check three things. Node.js (current LTS) is installed if you plan to use an npx server, or uv if you plan to use uvx. Claude Desktop is installed and signed in. And you know the absolute path to your vault, for example /Users/you/Documents/MyVault or C:\Users\you\Documents\MyVault.
For a REST server you also need the plugin. In Obsidian open Settings, Community plugins, Browse, search for Local REST API, install and enable it, then copy the token shown on its settings page. The plugin listens on HTTPS port 27124 with a self-signed certificate. An HTTP port, 27123, exists but is off by default.
Edit the Config File
In Claude Desktop open Settings, then Developer, then Edit Config. That opens claude_desktop_config.json, which lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows. Add mcpvault like this:
On Windows, double the backslashes in the path: "C:\\Users\\you\\Documents\\MyVault". Save the file, then quit Claude Desktop fully (from the menu bar or system tray, not just the window) and reopen it. The tools icon in the chat box should now list the Obsidian tools.
💡 PATH tip: Claude Desktop does not inherit your shell's PATH. If the server fails to start, replace npx with the absolute path printed by which npx on macOS or where npx on Windows.
Connect a REST Server
A REST server uses the same file with a different entry. Here is the shape for mcp-obsidian:
Add one more entry to that env block: your plugin token, under the exact variable name the server's README lists. Names differ between projects, which is why I will not guess one here. Keep Obsidian open while you chat, because the server reaches your vault through the plugin.
Setup for Claude Code
Claude Code adds servers from the terminal, with no JSON editing.
One Command Install
For mcpvault:
claude mcp add obsidian --scope user -- npx @bitbonsai/mcpvault@latest /path/to/vault
The --scope user flag makes the server available in every project. The default local scope limits it to the current project, and project scope writes a .mcp.json file you might commit to git. Never put a token in a shared .mcp.json.
For a REST server, pass environment values with -e:
claude mcp add obsidian --scope user -e OBSIDIAN_HOST=127.0.0.1 -e OBSIDIAN_PORT=27124 -- uvx mcp-obsidian
Add the plugin token the same way, using the variable name from the README.
Verify and Test Prompts
Run claude mcp list to see whether the server shows as connected, or type /mcp inside a session. Then try prompts that prove each tool works:
"List the ten most recently changed notes and summarize each in one line."
"Search for notes mentioning the pricing experiment and draft a status update from them."
"Append today's three decisions to my daily note under a heading called Decisions."
"Find notes that mention a person by name but never link to their page."
Teams can share one vault through a synced folder, and each person adds the server on their own machine. Keep write access limited to the people who need it.
Safe Habits Before Write Access
Read access is low risk. Write access is not, because one misread instruction can overwrite a note or delete a file. A few habits remove most of the danger.
Back Up First
Turn the vault into a git repository with the Obsidian Git plugin, or confirm that Obsidian Sync version history is on, or at least copy the folder to a second drive. Then test a restore once. A backup you have never restored is a hope, not a backup.
Approve write and delete tools one call at a time until you trust the behavior. Read the proposed change before you click Allow.
Limit What Claude Touches
Filesystem servers accept any folder path, so point them at a dedicated subfolder instead of the whole vault. Keep journals and private drafts outside it. Store tokens only in your local config, never in a repository.
Risk
Fix
Accidental overwrite
Git history or version history, tested once
Deleted note
Approve delete calls manually, or use a server without a delete tool
Private text sent out
Expose a subfolder, keep sensitive notes outside it
Leaked token
Local config only, never a committed .mcp.json
Fixing Common Setup Failures
Most first attempts fail for boring reasons. Work through these in order.
Server Shows as Failed
Node or uv missing. Run node --version or uv --version in a terminal.
Wrong PATH. Use the absolute path to npx or uvx in the config.
Old package name. Replace mcp-obsidian on npm with @bitbonsai/mcpvault.
Broken JSON. Look for a trailing comma, a missing quote, or single backslashes in a Windows path.
Stale app. Quit Claude Desktop fully and reopen it.
If nothing helps, open the MCP log files. On macOS they sit in ~/Library/Logs/Claude/, and on Windows in %APPDATA%\Claude\logs. The last few lines usually name the exact problem.
Port and Certificate Errors
REST servers add their own failures. Obsidian must be running with the plugin enabled. A 401 or 403 response means the token does not match, so copy it again with no trailing space. A certificate error on port 27124 comes from the plugin's self-signed certificate: follow the server README for trusting it, or enable the HTTP port 27123 in the plugin settings and use it on localhost only. If another program holds the port, change it in the plugin and in your env block together.
Draft Notes With Claude on PicassoIA
MCP lives inside Claude Desktop and Claude Code, so a browser tool cannot replace it. What PicassoIA adds is the other half of the job: drafting and cleaning text before it reaches your vault, with nothing to install. Claude Sonnet 5 is a good fit, and Claude Opus 4.7 and Claude 4.5 Haiku handle heavier and lighter jobs.
Paste your raw material into Prompt: a rough transcript, loose bullets, or a messy research dump. Then state the note format you want.
Fill System Prompt once with your vault conventions, such as YAML frontmatter, wikilinks for people, and your heading style.
Pick an Effort level, then run it.
Copy the result into Obsidian, or hand it to your MCP connected Claude to file in the right folder.
Field
What it does
Suggested setting
Prompt
Your raw text plus instructions
Rough content, then the note format
System Prompt
Standing rules for the session
Frontmatter, wikilinks, heading style
Effort
Thinking depth, low to max
Low for cleanups, high for long restructures
Max Tokens
Output length cap
Default 8192 suits most notes
Image
Optional screenshot or photo
A whiteboard photo or a diagram
💡 The image field is useful for research: photograph a whiteboard, let Claude turn it into a structured note, and file it in your vault.
Make Your Own Images on Picasso IA
A vault full of text gets easier to scan once notes carry a visual. A header photo for a project note, a mood board for a design brief, a photoreal scene for a story draft: each takes a short prompt and a few seconds on Picasso IA.
Try Seedream 4.5 for detailed, polished scenes, GPT Image 2 when a prompt is long and specific, FLUX 2 Pro for sharp realistic photography, or P-Image when you want results fast. Describe the subject, the light, and the lens, and keep the wording as concrete as a photographer's shot list.
Set up your Obsidian MCP server this week, then open Picasso IA and make the first image for your own vault. Experiment with a few prompts, keep the ones that fit your notes, and build a visual habit alongside the written one.