mcp-obsidian: community Obsidian MCP server
Lets Claude search, read and edit the notes in your Obsidian vault while Obsidian is open.
This is a community server, not one made by Obsidian, and Obsidian has no official server. It lets Claude and other assistants list, search, read and edit the notes in your Obsidian vault. It works through the Local REST API community plugin, so Obsidian must be open with that plugin turned on. That plugin now has its own built-in connection too, which covers the same jobs without installing anything else.
Good for
- Obsidian users who want Claude to find and summarize notes across the whole vault
- People who keep meeting notes in Obsidian and want summaries written back as new notes
- Daily note users who want the assistant to read this week's or this month's periodic notes
- Docker users who prefer the copy in Docker's MCP catalog
Works in
2 with issues · 10 should work
Tap an app to see how to set it up and any known problems.
The README covers it: add the uvx entry with your plugin API key to the Claude config file and keep Obsidian open.
Known problems
- Open
Shows Server disconnected on Windows even after the plugin and key are set up
Workaround: Run it with uv or uvx rather than npx, and use the full path to uvx.
Since Jul 2025 · GitHub
Should work like any local server, but Gemini models have rejected its tool list.
Known problems
- Open
Gemini 3 models reject the tool list with a 400 error
Since Jan 2026 · GitHub
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install mcp-obsidian
Claude Code
- 1
Copy this prompt.
Add the mcp-obsidian server to Claude Code. Run this command: claude mcp add obsidian -e OBSIDIAN_API_KEY=<OBSIDIAN_API_KEY> -e OBSIDIAN_HOST=127.0.0.1 -e OBSIDIAN_PORT=27124 -e OBSIDIAN_PROTOCOL=https -- uvx mcp-obsidian 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
Paste it into Claude Code. It shows the change and asks before running it.
Requires uv (Python), Python 3.11+, Obsidian open with the Local REST API plugin.
Before you start, install and turn on the Local REST API community plugin in Obsidian and copy its API key from the plugin settings. Replace <OBSIDIAN_API_KEY> with that key; host, port and protocol are filled in with the plugin defaults, so change them only if you changed them in the plugin. Obsidian has to stay open while you use it.
Built from the package data we hold. Not yet tested by us.
Tools
Searches every note in your vault for words or a phrase
Runs a plain text search across all files in the vault and returns the matching notes with a bit of surrounding text.
Try: “Find every note that mentions the Q3 budget”
Read ·
obsidian_simple_searchFinds all notes with a given tag
Lists the notes tagged with a tag you name, using tags in the note's properties and inline #tags, not the word appearing in normal text.
Try: “Show me all notes tagged #project/website”
Read ·
obsidian_search_by_tagFinds notes that match detailed rules, like path patterns or tags
Searches with a structured query that can combine conditions such as file path patterns, tags and other note data, for searches a plain text match cannot do.
Try: “Find all notes in the Clients folder that have a status of active”
Read ·
obsidian_complex_searchReads one note in full
Returns the full text of one note or file in the vault so the assistant can read, quote or summarize it.
Try: “Read my note 'Architecture call 2026-10-28' and summarize it”
Read ·
obsidian_get_file_contentsReads several notes at once
Returns the text of several notes in one go, each under its own header, which is handy for comparing or summarizing a set of notes.
Try: “Read my last three meeting notes and list the open action items”
Read ·
obsidian_batch_get_file_contentsReads just a note's properties, like tags, aliases and status
Returns only the properties block at the top of a note, such as tags, aliases and status fields, without the rest of the text.
Try: “What status and tags does my 'Website redesign' note have?”
Read ·
obsidian_get_frontmatterLists the files and folders at the top of your vault
Shows the files and folders in the top level of your vault so the assistant can see how it is organized.
Try: “What folders are in my Obsidian vault?”
Read ·
obsidian_list_files_in_vaultLists the files and folders inside one folder
Shows the files and subfolders inside a folder you name in the vault.
Try: “List the notes in my Meetings folder”
Read ·
obsidian_list_files_in_dirOpens today's daily note, or this week's, month's or year's note
Returns the current daily, weekly, monthly, quarterly or yearly note, either its text or its details.
Try: “What did I write in today's daily note?”
Read ·
obsidian_get_periodic_noteGets your most recent daily or weekly notes
Returns the latest periodic notes of one type, such as the last several daily notes, so the assistant can look back over them.
Try: “Summarize my daily notes from the past week”
Read ·
obsidian_get_recent_periodic_notesShows the notes you changed most recently
Lists the files in the vault that were edited most recently. It needs the Dataview plugin turned on in Obsidian.
Try: “Which notes did I edit in the last few days?”
Read ·
obsidian_get_recent_changesAdds text to the end of a note, creating it if needed
Adds new text to the end of a note without touching what is already there, and creates the note if it does not exist yet.
Try: “Add 'Call the dentist' to the end of my To do note”
Write ·
obsidian_append_contentAdds or replaces text under a heading, block or property in a note
Edits one part of an existing note: it can add text before or after, or replace, the content under a heading, at a block reference, or in a property, leaving the rest of the note alone.
Try: “Under the Decisions heading in my project note, add that we picked Postgres”
Write ·
obsidian_patch_contentCreates a note or replaces a note's whole text
Writes a new note, or replaces everything in an existing note with new text. Whatever was in the note before is lost.
Try: “Create a note called 'summary meeting.md' with a summary of my last meeting”
Delete ·
obsidian_put_contentDeletes a note or a whole folder from your vault
Removes a file or folder from the vault. The assistant has to confirm the deletion explicitly when it calls this.
Try: “Delete the note 'Scratch draft' from my vault”
Delete ·
obsidian_delete_file
Read from the source code
Pros and cons
Good
- More GitHub stars than the other Obsidian servers compared on this page.
- Free and open source under the MIT license.
- Covers search, reading, appending, editing under a heading and periodic notes.
- Runs with one uvx command, or as the image in Docker's MCP catalog.
- Your notes stay on your computer; it only talks to Obsidian locally.
Watch out
- Obsidian must be open with the Local REST API plugin turned on.
- No read-only mode; it can overwrite and delete notes.
- Editing under a heading fails with the latest Local REST API plugin until an open fix is merged.
- Slow maintenance, with many pull requests waiting.
- One vault per server entry.
- The plugin it needs now has a built-in connection that does more.
Permissions
medium risk · 4 things to watch
Medium risk
The assistant can overwrite or delete any note in the vault, and there is no read-only switch. Keep a backup of the vault and be careful with notes that came from other people.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can overwrite and delete notes
One tool replaces a whole note and another deletes files or folders. Keep a backup or use Obsidian's file recovery before letting it edit. github.com
File paths are not checked against the vault
Paths containing ../ are passed on to the plugin unchecked; a fix is waiting as an open pull request. Do not ask it to work with files outside the vault. github.com
Notes can hide instructions for the assistant
A shared or web-clipped note can contain hidden text that tells the assistant to copy or delete other notes. Review what it plans to change in vaults that take in outside content. github.com
It skips the plugin's certificate check
The server does not verify the plugin's HTTPS certificate. That is fine on your own computer; do not point it at Obsidian on another machine over a shared network. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Talks to | The Local REST API plugin on your computer (127.0.0.1 by default) |
|---|
Alternatives
Use this server if you want the copy in Docker's MCP catalog. If you already run Local REST API 5.x, its built-in connection does the same jobs and more, and stevenstavrakis' obsidian-mcp is the pick when Obsidian is not always open.
| Server | Official | Runs | Sign-in | Can change things | GitHub stars |
|---|---|---|---|---|---|
| For Obsidian | |||||
| mcp-obsidianThis page | Community | Local | API key | Yes | 4.5K |
| obsidian-mcp-server | Community | – | – | – | 698 |
| obsidian-mcp | Community | – | – | – | 749 |
| obsidian-mcp-plugin | Community | – | – | – | 468 |
| Other tools for the same job | |||||
| Local REST API built-in | Community | Local | API key | Yes | – |
What people say
People like that Docker ships it in its MCP catalog and dislike how slowly fixes get merged.
What people like
- It is the Obsidian server Docker ships in its MCP catalog.
- One user running it with uv says the connection rarely drops.
Common complaints
- Long gaps between commits and many pull requests waiting for review.
- Editing under a heading often fails, so people tell Claude to append instead.
- An MCP SDK update broke the published release for weeks until a new version came out.
In their words
“Since it's the only Obsidian MCP server supported by Docker you might consider letting other maintainers in to contribute?”SireGitHub issueNov 2025
“I'm using with uv and the connection crashes rarely.”StravenGitHub issueDec 2024
“I think patch worked briefly around 5 days or so but now it reliably fails and I have to instruct claude to append only.”jadenstockGitHub issueJul 2025
“I don't think this is possible; afaik ChatGPT lacks the capability to call local mcp server tools.”DaftValac
Questions
Is there an official Obsidian MCP server?
No. Obsidian does not publish one. This server and the Local REST API plugin's built-in connection are both community projects.
Does Obsidian need to be open?
Yes. The server talks to the Local REST API plugin, which only runs while Obsidian is open with the plugin turned on.
Is it free?
Yes. It is open source under the MIT license, and the Local REST API plugin it needs is free too.
Is it safe?
Your notes stay on your computer, but the assistant can overwrite and delete them, and there is no read-only mode. Keep a backup of the vault, and be careful with notes other people wrote, since they can hide instructions for the assistant.
Can I use it with ChatGPT?
Not directly. It runs on your own computer, and ChatGPT only connects to servers on the internet. Use Claude Desktop, Claude Code, Cursor or another app that runs local servers.
Do I still need it if Local REST API has MCP built in?
Often not. Local REST API 5.x has its own connection with 20 tools, including moving files and running Obsidian commands, and its author recommends it over separate servers. This one is still the copy in Docker's MCP catalog.
Why does it crash with "Server object has no attribute list_tools"?
Version 0.2.2 broke when the MCP Python SDK reached 2.0. Version 0.2.3 fixes it; if an old copy is cached, add --with mcp<2 to the uvx arguments.
Why does editing under a heading fail?
Local REST API 5.x changed how section edits work, and the fix for this server is not merged yet. Ask the assistant to append to the note or rewrite it instead.
Can it work with more than one vault?
Not well. Each server entry talks to one Local REST API plugin, and proper multi-vault support is still an open request.
How do I add it to Claude Desktop?
Install and turn on the Local REST API plugin, copy its API key from the plugin settings, then follow the Claude Desktop steps in the install box above.
Examples
Summarize a recent meeting note
Get the contents of the last architecture call note and summarize them
SourceFind every note that mentions a topic and explain the context
Search for all files where Azure CosmosDb is mentioned and quickly explain to me the context in which it is mentioned
SourceTurn meeting notes into a new summary note
Summarize the last meeting notes and put them into a new note 'summary meeting.md'. Add an introduction so that I can send it via email.
Source
Information
updated Nov 1, 2026
- Publisher
- Community
- Package
mcp-obsidian- Registry
- PyPI
- Transport
- stdio
- Auth
- token in env
- Version
- 0.2.3
- License
- MIT
- Last commit
- Aug 31, 2026
- Listed in
- Docker MCP Catalog
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 16Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- Docker MCP catalog: obsidian · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com