Obsidian MCP server
Last verified: 2026-09
Read and search a local Obsidian vault.
Community Files & knowledge Needs a secret Claude Desktop, Cursor, Windsurf, Claude Code, VS Code
What it does
Talks to a running Obsidian vault through the Local REST API community plugin. The model can list, search, read, patch, append, and delete notes. It is not a folder jail like Filesystem — Obsidian has to be open and the plugin enabled.
It sits in Files & knowledge: These servers put the model inside a folder, a notes vault, or a Drive.
Good for
- Search the vault for every note that mentions a project name.
- Open last meeting's note and turn it into a summary note you can email.
- Append a daily log line without leaving the chat.
- Patch a heading in an existing note instead of rewriting the file.
Tools
- list_files_in_vault / list_files_in_dir — Walk the vault tree.
- get_file_contents — Read one note.
- search — Full-text search across the vault.
- patch_content / append_content — Edit or append a note.
- delete_file — Remove a file or folder.
Config (Claude Desktop / Cursor / Windsurf)
Paste the JSON below. Same mcpServers shape. Replace placeholder paths and secrets.
Windows paths look like C:\\Users\\you\\project, not /path/to.
Host-side steps →
Claude Desktop
| OS | Config file |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json
(usually C:\Users\<you>\AppData\Roaming\Claude\) |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Cursor
| Scope | macOS / Linux | Windows |
|---|---|---|
| This project | .cursor/mcp.json in the repo root | |
| This user | ~/.cursor/mcp.json |
%USERPROFILE%\.cursor\mcp.json |
Windsurf
| OS | Config file |
|---|---|
| macOS / Linux | ~/.codeium/windsurf/mcp_config.json |
| Windows | %USERPROFILE%\.codeium\windsurf\mcp_config.json |
{
"mcpServers": {
"obsidian": {
"command": "uvx",
"args": [
"mcp-obsidian"
],
"env": {
"OBSIDIAN_API_KEY": "from Local REST API plugin",
"OBSIDIAN_HOST": "127.0.0.1",
"OBSIDIAN_PORT": "27124"
}
}
}
}
Windsurf remote MCP: use serverUrl instead of url if the block below is HTTP.
One-liner: uvx mcp-obsidian
Secrets it wants: OBSIDIAN_API_KEY (Local REST API plugin); optional OBSIDIAN_HOST, OBSIDIAN_PORT
How to get started
- Install and enable the Obsidian Local REST API plugin; copy its API key.
- Paste the JSON below (uvx mcp-obsidian). Default host is 127.0.0.1:27124.
- Leave Obsidian running. Ask the host to list files in the vault.
Access risk
patch_content and delete_file can rewrite or remove notes. The API key is equivalent to full vault access from this machine.
When to skip it
Skip it if the notes are just markdown on disk — Filesystem is simpler and does not need a plugin. Skip write tools on a vault that holds work secrets.
Instead: Filesystem, Memory, Logseq.
Vs alternatives
| Server | Official? | Needs a secret? | Best for |
|---|---|---|---|
| Obsidian | No | Yes | Read and search a local Obsidian vault. |
| Filesystem | Yes | No | Read and write files inside a folder you choose. |
| Memory | Yes | Yes | Persistent notes the model can store and recall across chats. |
| Logseq | No | Yes | Read a Logseq graph. |
More in Files & knowledge
FAQ
Why is it uvx and not a vault path?
This package talks to the Local REST API plugin. Obsidian must be open, the plugin enabled, and OBSIDIAN_API_KEY set. It is not Filesystem pointed at the vault folder.
Can it delete notes?
Yes — delete_file is in the tool list. Do not connect a vault that holds work secrets you would not paste into a chat.
Obsidian or Filesystem on the same folder?
Pick one. Filesystem does not need a plugin; Obsidian keeps wikilinks and the graph the app already has.
Does it work if Obsidian is closed?
No. The REST plugin is a local HTTP server inside the app.