mcp-obsidian
An MCP server for an Obsidian vault via the Local REST API plugin: search, read, append and patch notes
Install
{
"mcpServers": {
"mcp-obsidian": {
"command": "uvx",
"args": ["mcp-obsidian"],
"env": {
"OBSIDIAN_API_KEY": "<YOUR_OBSIDIAN_API_KEY>",
"OBSIDIAN_HOST": "<your_obsidian_host>",
"OBSIDIAN_PORT": "<your_obsidian_port>"
}
}
}
}Install and enable the Local REST API plugin in Obsidian first.
This is third-party code. Review the repository files before installing.
What it does
The server talks to Obsidian through the community Local REST API plugin and gives the agent access to the vault. The agent lists files at the root and in folders, reads notes and searches text across the vault. It can append to new or existing notes, insert content relative to a heading, block or frontmatter field, and delete files. It runs via uvx or Docker.
Who it is for. For people who keep notes in Obsidian and want to work with them through an agent.
Good fit when
- You need to find where a topic appears in your notes and summarize the context
- You need meeting takeaways written into a new note
- You need to add a section under a specific heading of an existing note
Not a fit when
- Obsidian is not running or the Local REST API plugin cannot be installed
- The vault holds data the agent must not be able to delete
Example request
Find Obsidian notes that mention CosmosDB and explain the contextLimitations
Works only while Obsidian runs with the Local REST API plugin enabled and its key set. Needs Python 3.11 or newer and is incompatible with mcp SDK 2.0. The delete tool has no confirmation of its own.
How to disable. Remove the mcp-obsidian block from the MCP config and optionally disable the Local REST API plugin.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| OBSIDIAN_API_KEY required, secret | Local REST API plugin key |
| OBSIDIAN_HOST | Obsidian host, default 127.0.0.1 |
| OBSIDIAN_PORT | Plugin port, default 27124 |
Security check
- Reads and edits notes and can delete vault files
README in short
The README lists the server tools and gives example prompts. It states the Python and mcp SDK version requirements and two ways to pass the API key: via config or a .env file. It includes Claude Desktop configs, a Docker setup and debugging tips with MCP Inspector. MIT licensed.
FAQ
Where do I get the API key?
In the Local REST API plugin settings inside Obsidian.
Why can't Claude find uvx?
Put the full uvx path in the config; which uvx prints it.
Related
A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more
Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server
A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI
Anthropic's official plugins for knowledge work roles: sales, support, product, marketing, legal, finance, data and enterprise search