mcp-obsidian

An MCP server for an Obsidian vault via the Local REST API plugin: search, read, append and patch notes

MCP serverMedium risk

markuspfundstein/mcp-obsidian

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 context

Limitations

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
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.

Editors’ pick

A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more

CLIHigh risk31K
Editors’ pick

Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server

CLIMedium risk29.7K
Editors’ pick

A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI

MCP serverMedium risk28.1K
Editors’ pick

Anthropic's official plugins for knowledge work roles: sales, support, product, marketing, legal, finance, data and enterprise search

PluginHigh risk24K