Obsidian MCP server
Let an agent read, search, and edit your Obsidian vault through the Local REST API plugin.
mcp-obsidian is a widely used community MCP server that connects an AI agent to a local Obsidian vault. It talks to Obsidian through the Local REST API community plugin, so the agent works against your live, running vault rather than raw files on disk. The agent can list files in the vault root or any subdirectory, read the full contents of a note, and run a full-text search across every file to find the right context before answering.
For writing, it can append content to a new or existing note, patch content relative to a specific heading, block reference, or frontmatter field, and delete files or directories. That makes it a strong fit for a personal knowledge-management workflow: capture meeting notes, summarize and file research, or maintain a Zettelkasten while the agent keeps everything in your own Markdown vault. It runs locally over stdio via uvx, authenticating with the API key from the Local REST API plugin set in OBSIDIAN_API_KEY, with OBSIDIAN_HOST and OBSIDIAN_PORT to point at the plugin's endpoint.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"obsidian": {
"command": "uvx",
"args": [
"mcp-obsidian"
],
"env": {
"OBSIDIAN_API_KEY": "<OBSIDIAN_API_KEY>",
"OBSIDIAN_HOST": "<OBSIDIAN_HOST>",
"OBSIDIAN_PORT": "<OBSIDIAN_PORT>"
}
}
}
}claude mcp add obsidian -- uvx mcp-obsidianAvailable tools
| Tool | Description |
|---|---|
| list_files_in_vault | Lists all files and directories in the root of your Obsidian vault. |
| list_files_in_dir | Lists all files and directories in a specific Obsidian vault directory. |
| get_file_contents | Returns the content of a single file in your vault. |
| search | Searches for documents matching a text query across all files in the vault. |
| patch_content | Inserts content into an existing note relative to a heading, block reference, or frontmatter field. |
| append_content | Appends content to a new or existing file in the vault. |
| delete_file | Deletes a file or directory from your vault. |
Required configuration
- OBSIDIAN_API_KEYRequired
API key generated by the Obsidian Local REST API community plugin.
- OBSIDIAN_HOSTOptional
Host where the Obsidian Local REST API is reachable. Defaults to 127.0.0.1.
- OBSIDIAN_PORTOptional
Port the Obsidian Local REST API listens on. Defaults to 27124.
What you can do with it
Search your vault for sourced answers
Ask a question and the agent runs a full-text search across your notes, reads the relevant files, and answers from your own knowledge base instead of guessing.
Capture and file notes automatically
The agent appends meeting notes or research summaries to the right note and patches them under the correct heading, keeping your vault organized as you work.
FAQ
- Is it free?
- Yes. mcp-obsidian is free and open source, and the required Obsidian Local REST API community plugin is free as well. You need a local Obsidian install; an Obsidian commercial license is only required for commercial use of Obsidian itself.
- Does it support remote/OAuth?
- No. It runs locally over stdio via uvx and authenticates with the Local REST API plugin's API key in OBSIDIAN_API_KEY; there is no hosted remote endpoint or OAuth flow. It talks to Obsidian on your machine over OBSIDIAN_HOST and OBSIDIAN_PORT.
- What is the prerequisite to run it?
- You must install and enable the Obsidian Local REST API community plugin in your vault and copy its generated API key into OBSIDIAN_API_KEY, since the server drives Obsidian through that plugin's HTTP endpoint.